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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
