Utilisation de l'utilitaire sqlcmd (SQL Server Express)

Vous pouvez gérer vos bases de données Microsoft SQL Server 2008 Express (SQL Server Express) à l'aide de l'utilitaire sqlcmd à partir de l'invite de commandes. Pour accéder à l'utilitaire sqlcmd, cliquez sur Démarrer, sur Exécuter, puis tapez sqlcmd.exe.

Syntaxe SQLCMD

Les arguments suivants sont disponibles lorsque vous exécutez l'utilitaire sqlcmd. Pour plus d'informations sur des arguments spécifiques, consultez Utilitaire sqlcmd et Didacticiel : utilitaire de ligne de commande sqlcmd dans la documentation en ligne de SQL Server.

Sqlcmd
  [-U login id] [-P password] [-S server] [-H hostname] 
  [-E trusted connection] [-d use database name] [-l login timeout]
  [-N encrypt connection] [-C trust the server certificate]
  [-t query timeout] [-h headers] [-s colseparator] [-w screen width]
  [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
  [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"]
  [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel]
  [-W remove trailing spaces] [-u unicode output]
  [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile]
  [-f <codepage> | i:<codepage>[,o:<codepage>]]
  [-k[1|2] remove[replace] control characters]
  [-y variable length type display width]
  [-Y fixed length type display width]
  [-p[1] print statistics[colon format]]
  [-R use client regional setting] [-b On error batch abort]
  [-v var = "value"...]
  [-X[1] disable commands[and exit with warning]]
  [-? show syntax summary]

Commandes SQLCMD

Le tableau suivant fournit une présentation des commandes que vous pouvez utiliser au sein de l'utilitaire sqlcmd. Pour plus d'informations sur ces commandes, consultez Utilitaire sqlcmd dans la documentation en ligne de SQL Server 2008.

Commande

Description

go [count]

Exécute des instructions Transact-SQL mises en mémoire cache. Lors de la spécification d'une valeur pour count, les instructions mises en mémoire cache sont exécutées count fois, comme un traitement unique. Par exemple, l'exemple suivant exécute les deux instructions deux fois :

1> Use MyDatabase
2> SELECT FirstName, LastName FROM Employee WHERE EmployeeID < 10
3> GO 2

-Nencrypt connection

Ce commutateur est utilisé par le client pour demander une connexion chiffrée. Cette option est équivalente à l'option ADO.net ENCRYPT = true.

-Ctrust the server certificate

Ce commutateur est utilisé par le client pour le configurer afin d'approuver implicitement le certificat de serveur sans validation. Cette option est équivalente à l'option ADO.net TRUSTSERVERCERTIFICATE = true.

reset

Vide le cache d'instruction.

ed

Vous permet de modifier le traitement d'instructions en cours ou le dernier traitement d'instructions exécuté. Pour modifier le dernier traitement exécuté, cette commande doit être tapée immédiatement après l'exécution du dernier traitement.

!! <command>

Exécute des commandes du système d'exploitation. Pour exécuter une commande du système d'exploitation, commencez une ligne par deux points d'exclamation (!!)suivis de la commande du système d'exploitation. Par exemple, les instructions suivantes créent une liste du contenu du répertoire sur le lecteur en cours :

1> !! dir

quit

- ou -

exit

Quitte sqlcmd immédiatement.

exit [(instruction)]

Vous permet d'utiliser le résultat d'une instruction SELECT comme valeur de retour à partir de sqlcmd.

L'instruction exit() sans information entre parenthèses exécute toutes les commandes qui la précèdent dans le traitement, puis quitte l'utilitaire sans renvoyer de valeur.

Vous pouvez également inclure le paramètre exit dans un fichier de commandes. Exemple :

sqlcmd /Q "exit(SELECT COUNT(*) FROM '%1')"

:r <nom_fichier>

Analyse les instructions Transact-SQL et les commandes sqlcmd à partir du fichier spécifié par nom_fichier dans le cache d'instruction. Le fichier est lu et exécuté après la rencontre d'un terminateur de traitement (go).

:serverlist

Répertorie tous les serveurs configurés localement et les noms des serveurs émettant sur le réseau.

:list

Imprime le contenu du cache d'instruction.

:listvar

Affiche la liste des variables de script actuellement définies.

:error <destination>[ filename | STDERR | STDOUT]

Redirige l'ensemble de la sortie d'erreur dans le fichier spécifié par filename, vers le flux STDERR ou le flux STDOUT. Par défaut, la sortie d'erreur est envoyée vers STDERR.

:out <destination>[ filename | STDERR | STDOUT ]

Redirige l'ensemble des résultats de requête dans le fichier spécifié par filename, vers le flux STDERR ou le flux STDOUT. Par défaut, la sortie est envoyée vers STDOUT.

:perftrace <destination>[ filename | STDERR | STDOUT ]

Redirige l'ensemble des informations de trace dans le fichier spécifié par filename, vers le flux STDERR ou le flux STDOUT. Par défaut, la sortie du suivi des performances est envoyée vers STDOUT.

:connect server_name[\instance_name] [-t timeout] [-U username [-P password] ]

Connecte à une instance de SQL Server et ferme la connexion active.

:on error [ exit | ignore ]

Définit l'action à effectuer lorsqu'une erreur se produit en cours de script ou d'exécution d'un traitement.

Lorsque l'option exit est employée, sqlcmd se termine avec la valeur d'erreur appropriée.

Lorsque l'option ignore est employée, sqlcmd ne tient pas compte de l'erreur et poursuit l'exécution du traitement ou du script. Par défaut, un message d'erreur est imprimé.

:help

Répertorie les commandes sqlcmd avec une brève description de chaque commande.

Connexion à SQL Server Express

Lorsque vous vous connectez à un serveur SQL Server Express, vous devez spécifier le nom de serveur et, si SQL Server Express est installé dans une instance nommée, le nom de l'instance. Par défaut, sqlcmd utilise l'authentification Windows. Si vous vous connectez au serveur SQL Server Express à l'aide de l'authentification SQL Server, vous devez également fournir les informations d'ouverture de session pour se connecter au serveur SQL Server Express. Par exemple, si vous vous connectez à une installation par défaut de SQL Server Express sur un serveur nommé server1, vous pouvez utiliser les arguments suivants :

sqlcmd -S server1\SQLExpress -U SqlUserAccount -P SqlPassword

Notes

Si vous utilisez l'argument -P, votre mot de passe s'affiche en texte clair à l'invite de commandes. Si vous omettez l'argument -P, vous serez invité à entrer votre mot de passe. Le texte que vous entrez est masqué.

Si vous êtes connecté avec un compte d'utilisateur approuvé sur le serveur qui exécute SQL Server Express, vous pouvez omettre les arguments -U et -P :

sqlcmd -S server1\SQLExpress

Notes

L'argument -E spécifie une connexion approuvée. Il s'agit du paramètre par défaut pour sqlcmd, par conséquent vous pouvez omettre l'argument -E.

Exemple

L'exemple suivant montre comment utiliser l'utilitaire sqlcmd pour vous connecter à une instance de SQL Server Express, nommée SqlExpress, sur un serveur nommé SqlServer1 :

Sqlcmd -S SqlServer1\SqlExpress

Une fois que vous êtes connecté, vous pouvez émettre d'autres commandes pour gérer l'instance. Par exemple, les commandes suivantes affichent toutes les bases de données actuellement installées. La méthode suivante permet de rechercher le nom logique d'une base de données SQL Server Express attachée :

SELECT name from sys.databases
Go

Procédures stockées système sp_configure

Vous pouvez gérer et optimiser les ressources de SQL Server Express grâce aux options de configuration à l'aide de la procédure stockée système sp_configure. Pour plus d'informations sur sp_configure, consultez Définition des options de configuration de serveur dans la documentation en ligne de SQL Server.

Les options de configuration suivantes font partie de sp_configure, mais ne sont pas prises en charge dans SQL Server Express :

  • Agent XPs

  • Database Mail XPs

  • SQL Mail XPs

  • Procédures de l'Assistant Web