> Tech > SqlCmd

SqlCmd

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Nous sortons de la juridiction du développeur pour nous orienter maintenant vers un outil dédié et conçu plus particulièrement pour les administrateurs systèmes : SqlCmd. SqlCmd est un outil en ligne de commandes permettant d’exécuter des ordres Transact-SQL sur un serveur SQL SERVER donné. Il nécessite

SqlCmd

donc des connaissances du langage SQL. SqlCmd permet en outre d’exécuter des scripts SQL présents dans un fichier, passé en arguments. Il existe donc deux méthodes pour exécuter un backup via SqlCmd :

  • Exécuter l’ensemble des commandes directement depuis la console SqlCmd
  • Lancer l’exécution d’un fichier SQL contenant les instructions de sauvegarde depuis SqlCmd. Note : Avant de poursuivre, Il vous ait fortement conseillé de faire un petit tour de l’aide via la commande SqlCmd / ?

Voici les principaux arguments que nous utiliserons pour la suite :

  • -S : Nom du serveur auquel se connecter.
  • -E : Connexion approuvée (mode Authentification Windows)
  • -i : Fichier SQL d’entrée. 
  • -o : Fichier résultat de sortie
  • -v var : Ajout d’une variable de script SqlCmd.

Première méthode. Lancer des commandes SQL depuis SqlCmd L’utilitaire SqlCmd se lance depuis une console DOS. La connexion à un serveur SQL se fasse via la commande:

SqlCmd –S «(local)\SQL2008 » -E

Nous sommes connectés à notre serveur et nous pouvons maintenant exécuter directement du code SQL. Par exemple lister les bases de données de notre instance : Select top 5 database_id, name from sys.databases Résultat en image dans notre console SqlCmd : Voir Figure 9. Maintenant, la réalisation de la sauvegarde de notre base de données : Voir listing 5.

Le résultat de l’opération : Voir Figure 10. Deuxième méthode. Lancer un fichier SQL depuis SqlCmd Nous pouvons très bien imaginer un administrateur système préparer un script SQL, sauvegardé dans un fichier .SQL et demander à exécuter ce script directement depuis SqlCmd. Pour ce faire, nous reprenons notre script, enregistré dans un fichier backupbdd.sql et stocké quelque part sur le disque dur (la racine C:\ ici pour des raisons de simplicité de l’exemple)

L’exécution du script contenu dans le fichier .sql s’effectue via la commande :

SqlCmd -S "(local)\sql2008" -E -i "c:\BackupBdd.sql" -o "c:\backupbdd.sql.txt"

Le script SQL va être joué et le résultat de son exécution stocké dans le fichier nommé "backupbdd.sql.txt". SqlCmd n’ayant rien à afficher dans la console DOS, celle-ci ne renvoie rien de particulier : Voir Figure 11.

Le fichier résultat contient les lignes suivantes :

Processed 248 pages for database 'PerfSamples', file 'PerfSamples' on file 5. Processed 1 page for database 'PerfSamples', file 'PerfSamples_log' on file 5. BACKUP DATABASE successfully processed 249 pages in 0.249 seconds (7.812 MB/sec). 

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010