SQL SERVER est un produit extrêmement vaste en termes de fonctionnalités. Les versions se succèdent et apportent leurs lots de nouveautés et optimisations. Comme tout produit riche, il offre plusieurs possibilités et plusieurs cheminements pour un même résultat. SQL SERVER va même encore plus loin et offre non seulement des solutions intégrées qui s’adressent à des profils utilisateur, administrateur, développeur ou utilisateur lambda, mais s’ouvre aussi à des outils externes comme PowerShell, la nouvelle console de scripts dédiée aux administrateurs systèmes
Nous vous proposons aujourd’hui de découvrir comment arriver à effectuer une opération sur un serveur SQL SERVER, et ce, de plusieurs façons pour un même résultat, autour d’un exemple simple, mais tellement courant : La sauvegarde d’une base de données.
SqlCmd permet d’aller plus loin dans la personnalisation et propose un mécanisme simple d’ajout de variables. Il devient aisé alors de créer un fichier SQL, indépendant de la base de données à sauvegarder, dont le nom serait passé en paramètre lors de l’exécution du script !
-
Dans le script SQL à exécuter les variables sont déclarées en entête via la commande :setvar DataBaseName= PerfSamples
-
Ou directement depuis la ligne de commande via l’argument
–v DataBaseName=PerfSamples Les variables sont ensuite utilisées dans le code via sous forme $(maVariable). Notre script Sql devient alors : BACKUP DATABASE [$(DataBaseName)] TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Backup\$(DataBaseName)Backup.bak’ WITH NOFORMAT, NOINIT, NAME = N’$(DataBaseName)-Full Database Backup’
Note : Attention, à partir de maintenant, notre fichier script ne peut être appelé uniquement que depuis une commande SqlCmd. Il n’est plus possible d’exécuter directement le script depuis la console SQL SERVER. L’appel du fichier à exécuter depuis SqlCmd est identique au précédent si ce n’est le rajout du nom de la base de données à sauvegarder : Pour l’exemple, nous créons la sauvegarde des bases de données master et Perfsamples : Voir Figure 12.
SqlCmd est et restera sans doute encore longtemps un outil privilégié des administrateurs systèmes. Il existe cependant un nouvel outil, bien plus puissant et tout particulièrement adressé aux administrateurs systèmes qui restent quelque fois frustrés par la rigidité des utilitaires en ligne de commandes : PowerShell
Téléchargez cette ressource
Sécuriser votre système d’impression
Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.