Blog

Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016


Si l’idée vous prend de générer dynamiquement une chaine de caractère ou un script contenant des retours chariot CHAR(13) et sauts de ligne CHAR(10) depuis SQL Management Studio 2016, sachez qu’ils ne sont plus pris en compte par défaut. Il est nécessaire d’activer l’option Retain CR/LF, c’est assez nouveau et encore vrai sur la dernière version du client de SQL Server (v17).

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - retain

Dans l’exemple ci-dessous, on génère un script de désactivation des contraintes et triggers.

Quant on effectue un copier/coller du résultat de la requête, à l’arrivée, le script généré n’est pas très probant. Typiquement dans cette exemple, les sauts de ligne sont ignorés.

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - char_ignored

Bien évidemment, si on tente d’exécuter le script en question, on obtiendra une erreur, le formatage n’étant pas conforme :

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - error_char

Pour corriger le problème, c’est assez simple, se rendre dans le menu Tools\Options… :

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - tool_options

Dans la section Query Results\SQL Server\Results to Grid, cocher l’option Retain CR/LF on copy or save :

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - option_char10_char13

On ouvre une nouvelle fenêtre que le nouveau paramètre soit pris en compte lors de l’exécution de la requête de génération de script (désactivation des contraintes et triggers  :

On copie/colle le résultat dans une nouvelle fenêtre et là ça marche !

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - char_ok

Source :

https://connect.microsoft.com/SQLServer/feedback/details/2998663/ssms-2016-results-to-grid-does-not-honour-retain-cr-lf-characters-when-copying-the-grid-data

Auteur

Expert SQL Server - Retain CR/LF : Retours chariot et sauts de ligne dans SQL Management Studio 2016 - SQL Server  - avatar_ninja_tete-150x150
Sarah Béquet
Archietcte Data Microsoft, les maîtres mots sont : performance, industrialisation, méthodologie & bonne humeur.
error: