Sauvegarde et restauration de votre base de données SQL Server à partir de la ligne de commande

Table des matières:

Sauvegarde et restauration de votre base de données SQL Server à partir de la ligne de commande
Sauvegarde et restauration de votre base de données SQL Server à partir de la ligne de commande

Vidéo: Sauvegarde et restauration de votre base de données SQL Server à partir de la ligne de commande

Vidéo: Sauvegarde et restauration de votre base de données SQL Server à partir de la ligne de commande
Vidéo: Word : L'interface utilisateur - YouTube 2024, Avril
Anonim

La partie la plus importante d'un plan de maintenance SQL Server consiste à sauvegarder régulièrement vos bases de données. Pour sauvegarder une base de données, vous ne pouvez pas simplement copier les fichiers MDF et LDF respectifs de la base de données, car SQL Server les verrouille. Au lieu de cela, vous devez créer un véritable fichier de sauvegarde via SQL Server.

Bien que cela puisse être fait en développant un plan de maintenance dans SQL Management Studio, les éditions gratuites Express de SQL Server ne proposent pas cette interface. Pour contourner ce problème, vous pouvez facilement sauvegarder vos bases de données en exécutant la commande ci-dessous tout en étant connecté en tant qu'administrateur Windows:

SqlCmd -E -S Server_Name –Q “BACKUP DATABASE [Name_of_Database] TO DISK=’X:PathToBackupLocation[Name_of_Database].bak'”

Les exemples ci-dessous aideront.

Instance SQL Server par défaut:

SqlCmd -E -S MyServer –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

Instance nommée SQL Server:

SqlCmd -E -S MyServerMyInstance –Q “BACKUP DATABASE [MyDB] TO DISK=’D:BackupsMyDB.bak'”

Ce qui précède crée une copie de sauvegarde entièrement restaurable de «MyDB» dans le fichier «D: BackupsMyDB.bak», qui peut être utilisée pour la récupération après sinistre. Bien sûr, vous pouvez modifier l’emplacement et le fichier de la sauvegarde selon vos besoins, mais assurez-vous de spécifier un emplacement de dossier existant sur la machine locale. Ce fichier de sauvegarde peut ensuite être copié sur un lecteur de bande ou un autre emplacement de sauvegarde externe.

Une question commune est «Un fichier de sauvegarde peut-il être créé sur un lecteur mappé ou un emplacement UNC?» Et la réponse rapide est non. La raison en est que le service Windows SQL Server s'exécute en tant que compte d'utilisateur qui n'a accès qu'à l'ordinateur local. Vous pouvez modifier le compte sous lequel le service est exécuté, mais cela est vivement déconseillé pour des raisons de sécurité.

Restauration d'une sauvegarde de base de données à partir de la ligne de commande

Pour restaurer une base de données à partir d'un fichier de sauvegarde, utilisez simplement la commande suivante:

SqlCmd -E -S Server_Name –Q “RESTORE DATABASE [Name_of_Database] FROM DISK=’X:PathToBackupFile[File_Name].bak'”

Par exemple:

SqlCmd -E -S MyServer –Q “RESTORE DATABASE [MyDB] FROM DISK=’D:BackupsMyDB.bak'”

La commande ci-dessus restaurera une sauvegarde de «MyDB» à partir des données stockées dans le fichier de sauvegarde «D: BackupsMyDB.bak». Toute modification apportée à MyDB depuis la création du fichier de sauvegarde sera perdue.

Une chose importante à retenir lors de l'utilisation de la commande ci-dessus est qu'elle est destinée à être utilisée sur le même serveur SQL Server sur lequel le fichier de sauvegarde respectif a été créé. Les fichiers de sauvegarde SQL stockent des informations «en coulisse» qui contrôlent où et comment les fichiers de données du fichier de sauvegarde sont copiés. Si vous restaurez une sauvegarde à partir d'un autre serveur SQL, les emplacements de chemin dans le fichier de sauvegarde risquent de ne pas correspondre au serveur sur lequel vous effectuez la restauration, ce qui entraînera une erreur. Bien que cela puisse être corrigé, il est beaucoup plus facile de restaurer les sauvegardes créées sur un autre serveur SQL Server à l'aide de l'outil SQL Management Studio.

Remarque: les commandes ci-dessus fonctionnent avec SQL 2005 et versions ultérieures (toutes les éditions). Pour SQL 2000 et les versions antérieures, remplacez «SqlCmd» par «oSql».

Conseillé: