[MSSQL] Quelques notes

Quelques notes concernant deux commandes qui m’ont été bien utiles en travaillant avec Microsoft SQL Server.

Exécuter une liste de script à partir d’un script principal

Soit l’arborescence de fichiers suivante pour un dossier livraison-sql donné :

  • livraison-sql/main.sql
  • livraison-sql/scripts/script1.sql
  • livraison-sql/scripts/script2.sql

Soit un fichier main.sql de la forme :

USE databaseName;
PRINT 'Exécution des scritps SQL'

PRINT 'Exécution: script1.sql'
:r .\scripts\script1.sql

PRINT 'Exécution: script2.sql'
:r .\scripts\script2.sql

Voici la commande à utiliser pour réaliser les opérations contenues dans notre main.sql, à savoir, l’exécution des scripts du dossier scripts :

sqlcmd -S "<nom de domaine>\<instance>" -U <utilisateur> -C -i main.sql -P<mot de passe>

Voir aussi la documentation Microsoft pour sqlcmd.

Restauration des utilisateurs bdd avec les logins

Après la restauration d’une sauvegarde de base de donnée, il peut être nécessaire de refaire la liaison entre les utilisateurs de la base de données et les identifiants mssql. On utilisera alors la commande suivante pour un utilisateur donné :

EXEC sp_change_users_login 'Auto_Fix', '<user>';
Victor

Auteur : Victor

Libriste convaincu, j’administre ce serveur et son domaine et privilégie l'utilisation de logiciels libres au quotidien. Je construis progressivement mon "cloud" personnel service après service pour conserver un certain contrôle sur mes données numériques.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *