> 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

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

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