sqlcmd |
Commande SQL |
---|---|
SQL Server |
Syntaxe
sqlcmd [parameters] |
Paramètres
Nom | Description |
---|---|
-? | Ce paramètre permet d'afficher l'aide de cette commande. |
-a packet_size | Ce paramètre permet de demander un paquet de taille différente. Ce paramètre permet de fixer la variable de script SQLCMDPACKETSIZE de sqlcmd. Le paramètre packet_size doit avoir une valeur comprise entre 512 et 32767. La valeur par défaut est 4096. Une taille de paquet supérieure peut améliorer les performances pour l'exécution de scripts comportant de nombreuses instructions SQL entre les commandes GO. Vous pouvez demander une plus grande taille de paquet. Toutefois, si la demande est refusée, la commande sqlcmd utilise la valeur par défaut du serveur pour la taille du paquet. |
-A | Ce paramètre permet d'indiquer la connexion administrateur dédié (DAC). |
-b | Ce paramètre permet d'indiquer que sqlcmd se ferme et renvoie une valeur ERRORLEVEL de DOS lorsqu'une erreur se produit. La valeur renvoyée à la variable ERRORLEVEL de DOS est 1 lorsque le message d'erreur SQL Server a un niveau de sévérité supérieur à 10; sinon, la valeur renvoyée est 0. |
-c batch_terminator | Ce paramètre permet d'indiquer le terminateur de lot. Par défaut, les commandes sont terminées et envoyées à SQL Server en tapant le mot clef GO sur une ligne distincte. Lorsque vous réinitialisez le terminateur de traitement par lots, n'utilisez pas de mots clefs réservés de transaction Transact-SQL ni de caractères ayant une signification particulière pour le système d'exploitation, même s'ils sont précédés d'une barre oblique inverse. |
-C | Ce paramètre permet d'indiquer qu'il faut utiliser le client pour le configurer afin qu'il approuve implicitement le certificat du serveur sans validation. Ce paramètre est équivalente au paramètre ADO.NET «TRUSTSERVERCERTIFICATE = true». |
-d databasename | Ce paramètre permet d'indiquer le nom de la base de données à utiliser lors de la connexion au serveur de base de données. |
-e | Ce paramètre permet d'écrire les scripts d'entrée sur le périphérique de sortie standard (stdout). |
-E | Ce paramètre permet d'indiquer une connexion de confiance. |
-f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage] | Ce paramètre permet de fixer les pages de code en entrée et en sortie. |
-g | Ce paramètre permet de fixer le paramètre de cryptage de colonne sur le mode Activé. |
-G | Ce paramètre permet de faire passer par l'authentification Azure Active Directory lors de la connexion à la base de données SQL ou à SQL Data Warehouse. |
-h headers | Ce paramètre permet d'indiquer le nombre de lignes à afficher entre les entêtes de colonne. La valeur par défaut consiste à afficher les entêtes une fois pour chaque ensemble de résultats de la requête. Ce paramètre définit la variable de script SQLCMDHEADERS de sqlcmd. Utilisez -1 pour spécifier que les entêtes ne doivent pas être affichés. Toute valeur non valide entraîne la commande sqlcmd à générer un message d'erreur, puis à quitter. |
-H hostname | Ce paramètre permet d'indiquer le nom de l'hôte. |
-i input_file[,input_file2...] | Ce paramètre permet d'identifier le fichier contenant un lot d'instructions SQL ou de procédures STORED. Plusieurs fichiers peuvent être spécifiés pour être lus et traités dans l'ordre. |
-I | Ce paramètre permet d'activer les identificateurs de guillemets. |
-j | Ce paramètre permet d'afficher les messages d'erreurs brutes à l'écran. |
-k [1|2] | Ce paramètre permet de supprimer tous les caractères de contrôle, tels que les tabulations et les nouveaux caractères de ligne de la sortie. Ce paramètre préserve le formatage des colonnes lorsque des données sont renvoyées. Si la valeur est 1, alors les caractères de contrôle sont remplacés par un seul espace. Si la valeur est 2 alors les caractères de contrôle consécutifs sont remplacés par un seul espace. Le paramètre -k est identique à -k1. |
-K application_intent | Ce paramètre permet de fixer le type de charge de travail de l'application lors de la connexion à un serveur. La seule valeur actuellement prise en charge est ReadOnly. Si le paramètre -K n'est pas spécifié, la commande sqlcmd ne prendra pas en charge la connectivité vers un réplica secondaire dans un groupe de disponibilité Always On. |
-l login_timeout | Ce paramètre permet d'indiquer le nombre de secondes avant qu'une connexion sqlcmd au pilote ODBC expire lorsque vous essayez de vous connecter à un serveur. Ce paramètre définit la variable de script SQLCMDLOGINTIMEOUT de la commande sqlcmd. Le délai d'expiration par défaut pour la connexion à sqlcmd est de 8 secondes. Lorsque vous utilisez le paramètre -G pour vous connecter à la base de données SQL ou à SQL Data Warehouse et vous authentifier à l'aide d'Azure Active Directory, une valeur de délai d'expiration d'au moins 30 secondes est recommandée. Le délai de connexion doit être compris entre 0 et 65534. Si la valeur fournie n'est pas numérique ou ne se situe pas dans cette intervalle, la commande sqlcmd génère un message d'erreur. Une valeur de 0 spécifie que le délai d'attente est infini. |
-L[c] | Ce paramètre permet d'afficher la liste des ordinateurs serveur configurés localement et les noms des ordinateurs serveur diffusés sur le réseau. |
-m error_level | Ce paramètre permet de contrôler les messages d'erreur envoyés à stdout. Les messages dont le niveau de sévérité est supérieur ou égal à ce niveau sont envoyés. |
-M multisubnet_failover | Ce paramètre permet d'indiquer le multi-sous-réseau. Vous devez toujours indiquer -M lorsque vous vous connectez à l'écouteur du groupe de disponibilité d'un groupe de disponibilité SQL Server ou d'une instance d'unité d'allocation de basculement SQL Server. Le paramètre -M permet une détection et une connexion plus rapides du serveur actif (actuellement). Si le paramètre -M n'est pas spécifié, le paramètre -M est considéré comme désactivé. |
-N | Ce paramètre permet d'indiquer que le client demande une connexion chiffrée. |
-o output_file | Ce paramètre permet d'indiquer le fichier recevant la sortie de la commande sqlcmd. |
-p[1] | Ce paramètre permet d'afficher les statistiques de performance pour chaque ensemble de résultats. |
-P password | Ce paramètre permet d'indiquer le mot de passe à utiliser avec l'utilisateur. |
-q "cmdline-query" | Ce paramètre permet d'exécuter une requête SQL lorsque sqlcmd démarre, mais ne quitte pas la commande sqlcmd lorsque l'exécution de la requête est terminée. Des requêtes délimitées par plusieurs points-virgules peuvent être exécutées. |
-Q "cmdline-query" | Ce paramètre permet d'exécuter une requête SQL lorsque sqlcmd démarre et quitte la commande sqlcmd lorsque l'exécution de la requête est terminée. Des requêtes délimitées par plusieurs points-virgules peuvent être exécutées. |
-r[0|1] | Ce paramètre permet d'indiquer si la redirection des messages d'erreurs vers l'écran ou la sortie standard (stderr) doit être utilisé. |
-R | Ce paramètre permet d'indiquer que la commande doit localiser les colonnes numériques, devises, date et heure extraites de SQL Server en fonction des paramètres régionaux du client. Par défaut, ces colonnes sont affichées à l'aide des paramètres régionaux du serveur. |
-s col_separator | Ce paramètre permet d'indiquer le caractère de séparateur de colonne. La valeur par défaut est un espace vide. Ce paramètre est définit dans la variable de script SQLCMDCOLSEP de sqlcmd. Pour utiliser des caractères ayant une signification particulière pour le système d'exploitation, tels que l'esperluette (&) ou le point-virgule (;), placez-le entre guillemets ("). Le séparateur de colonnes peut être tout caractère de 8 bits. |
-S [protocol:]server[\instance_name][,port] | Ce paramètre permet d'indiquer le nom réseau du serveur. |
-t query_timeout | Ce paramètre permet de fixer le nombre de secondes avant l'expiration d'une commande (ou instruction SQL). |
-v var = value[ var = value...] | Ce paramètre permet de créer une variable scripté pour sqlcmd pouvant être utilisé dans un script sqlcmd. |
-w column_width | Ce paramètre permet d'indiquer la largeur de l'écran pour la sortie. Ce paramètre définit la variable de script SQLCMDCOLWIDTH de sqlcmd. La largeur de colonne doit être un nombre supérieur à 8 et inférieur à 65536. Si la largeur de colonne spécifiée ne se situe pas dans cette intervalle, la commande sqlcmd génère un message d'erreur. La largeur par défaut est de 80 caractères. Lorsqu'une ligne en sortie dépasse la largeur de colonne spécifiée, elle passe à la ligne suivante. |
-W | Ce paramètre permet de supprimer les espaces de fin d'une colonne. Utilisez ce paramètre avec le paramètre -s lors de la préparation des données à exporter vers une autre application. Ne peut pas être utilisé avec les options -y ou -Y. |
-u | Ce paramètre permet d'indiquer que output_file est entreposé au format Unicode, quel que soit le format du fichier input_file. |
-U login_id | Ce paramètre permet d'indiquer l'identificateur de l'utilisateur pour se connecter. L'administrateur système est désigné par «sa». |
-V error_severity_level | Ce paramètre permet de contrôler le niveau de gravité utilisé pour définir la variable ERRORLEVEL. |
-x | Ce paramètre permet d'indiquer qu'il faut que la commande sqlcmd ignore les variables de script. |
-X[1] | Ce paramètre permet de désactiver les commandes susceptibles de compromettre la sécurité du système lorsque sqlcmd est exécuté à partir d'un fichier de traitement par lots. |
-y variable_length_type_display_width | Ce paramètre permet de fixer la variable de script SQLCMDMAXVARTYPEWIDTH de sqlcmd. |
-Y fixed_length_type_display_width | Ce paramètre permet de fixer la variable de script SQLCMDMAXFIXEDTYPEWIDTH de sqlcmd. |
-z new_password | Ce paramètre permet de changer le mot de passe. |
-Z new_password | Ce paramètre permet de changer le mot de passe et de terminer immédiatement la commande. |
Description
La commande sqlcmd permet d'envoyer des requêtes SQL à un serveur de base de données SQL Server de Microsoft.
Remarque
- Lorsqu'une connexion au serveur SQL Server est établie, vous pouvez définir la base de données par défaut à laquelle vous souhaitez vous connecter. Si elle n'est pas spécifiée, la base de données master est celle utilisé par défaut. Vous pouvez tapez la commande suivante pour déterminer avec quel base de données et s'agit bien de master de la manière suivante :
- Sp_databases
- Go
De plus, vous pouvez obtenir la liste des base de données en utilisant la STORED-PROCEDURE suivante :
Exemples
L'exemple suivant permet de se connecter à l'instance SQL sur la machine courante :
sqlcmd -S LOCALHOST\SQLEXPRESS -E |
L'exemple suivant permet de se connecter à l'instance SQL sur la machine autreserver avec l'utilisateur smaltais :
sqlcmd -S autreserver\SQLEXPRESS -U smaltais |
L'exemple suivant permet de se connecter à l'instance SQL sur la machine autreserver avec l'utilisateur smaltais en spécifiant le mot de passe :
sqlcmd -S autreserver\SQLEXPRESS -U smaltais -P motdepasse |
L'exemple suivant permet d'exécuter le fichier partie1.sql dans la base de données gladir_db avec l'utilisateur sa et le mot de passe «motdepasse» :
sqlcmd -S localhost\sqlexpress -U sa -P motdepasse -d gladir_db -i C:\DB\partie1.sql |
Dernière mise à jour : Lundi, le 15 avril 2019