L'utilitaire en ligne de commande SQLCMD est souvent ignoré par les utilisateurs de SQL Server qui lui préfèrent SQL Server Management Studio (SSMS) et son interface graphique. Pourtant SQLCMD dispose d'instructions qui lui sont propres et qui se révèlent particulièrement intéressantes lors de l'exécution de scripts. Afin d'améliorer le
Intégrer les instructions SQLCMD

comportement de SSMS, certaines instructions SQLCMD sont disponibles depuis SSMS et nous allons faire le point sur ces instructions SQLCMD disponibles depuis SSMS.
Tout d'abord depuis SSMS, il faut créer une nouvelle requête puis demander l'activation du mode SQLCMD depuis le menu Requête – Mode SQLCMD. Dès lors toute instruction SQLCMD apparaîtra avec un fond grisé, ce qui permet de les distinguer clairement des instructions Transact SQL. Sans l'activation de ce mode, les instructions SQLCMD ne pourront pas être interprétées. D'autre part, afin de bien faire la distinction entre les instructions Transact SQL et les instructions SQLCMD, ces dernières commencent toujours par le caractère ":".
Les instructions disponibles sont les suivantes.
r ‹nom_fichier›
Très pratique, cette instruction permet de demander le chargement d'un script directement depuis un fichier script exécuté depuis SSMS. L'exécution du script interviendra à la fin du script SSMS ou bien lors de l'exécution du séparateur de lots d'instruction GO.
Exemple d'utilisation de l'instruction :r pour charger et exécuter un script externe.
use Test;
go
r c:\exemple\test.sql
error [ fichier| STDERR | STDOUT]
Permet la redirection des erreurs directement vers un fichier ou bien vers le flux standard de sortie (STDOUT) ou d'erreur (STDERR).
out [ fichier | STDERR | STDOUT ]
Cette instruction permet de sauvegarder dans un fichier, le résultat de l'exécution d'un script transact SQL. Attention toutefois, car si le fichier de sortie existe déjà, il est écrasé et seul le résultat concernant le dernier script exécuté reste dans le fichier de résultat.
Exemple d'utilisation de l'instruction :out
out c:\exemple\resultat.txt
select * from sysdatabases;
go
connect nomServeur[\nomInstance] [-t timeout] [-U nomConnexion [-P
motDePasse] ]
Très pratique cette instruction permet de changer de connexion au cours d'un script et donc d'exécuter des instructions dans un contexte de sécurité différent. Cette instruction ne fonctionne qu'avec une sécurité SQL Server.
Exemple d'utilisation de l'instruction :connect
select suser_name()
go
connect monServeur -U monUtilisateur -P leMotDePasse
select suser_name()
go
on error [ exit | ignore ]
A l'aide de cette instruction, il est possible de définir le comportement à adopter lorsque qu'une erreur se produit en cours d'exécution. Voila les quelques éléments de SSMS que je souhaitais vous présenter et qui vous permettront de travailler encore plus efficacement avec cet outil.
Téléchargez cette ressource

Rapport Forrester sur la sécurité des workloads cloud (CWS)
Dans son rapport, Forrester Consulting passe au crible et note les produits des 13 principaux fournisseurs de solutions de sécurité des workloads cloud (CWS). Bénéficiez d’un état des lieux complet du marché, explorez tous les enjeux associés à la convergence des fonctions de sécurité cloud et les avantages des solutions complètes.