Restaurer la Base de données “à remplacer” - “move” nécessaire?
Sauvegarde de base de données a été créée avec des fichiers dans Un emplacement
Fichiers de base de données a ensuite déménagé à l'emplacement de B à l'aide de l'instruction ALTER DATABASE MODIFIER le FICHIER
Désormais la restauration de la sauvegarde à l'aide À REMPLACER créé lorsque des fichiers ont été dans l'emplacement de A. si l'option with MOVE être spécifié avec le nouvel emplacement? Ou de ne REMPLACER AVEC impliquent en utilisant les emplacements actuels, quel que soit l'endroit où ils étaient lors de la création de la sauvegarde?
OriginalL'auteur Aidan Ryan | 2009-07-22
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas à spécifier À DÉPLACER.
Juste une remarque, cela ne semble fonctionner si les sauvegardes sont de la même version SQL. J'ai essayé d'utiliser la même logique, les noms de fichiers sur un SQL 2012 de la base de données à partir d'une sauvegarde SQL 2008 et il n'était pas et j'ai eu des problème AVEC le DÉPLACER consolidés.
probablement la raison vous deviez utiliser
WITH MOVE
est que le SQL 2008 sauvegardes ont été sauvegardés avec le SQL 2008 lieu de la sous-arborescence dans leur chemin. Lorsque les sauvegardes sont faites, rappelez-vous que le CHEMIN d'accès COMPLET de l'endroit où la physique des fichiers de données résidé. Vous devez utiliserWITH MOVE
à REMPLACER à l'aide de l'origine physique des fichiers chemin d'accès complet. SQL 2012 a un répertoire d'installation différent de l'emplacement à partir de 2008, d'où la nécessité pour leWITH MOVE
. La seule façon d'éviter que serait l'hôte de toutes les bases de données dans un répertoire commun (c'est à dire, "d:\DataFiles\").OriginalL'auteur Remus Rusanu
Il ressemble à la Microsoft a modifié le comportement de SQL Server 2012 vs 2008.
Si vous sauvegardez une base de données avec des fichiers sur Un emplacement, puis les fichiers déplacer à l'emplacement B, puis, lorsque vous restaurez la base de données à l'aide de "À REMPLACER" et sans "À DÉPLACER", la restauration réussit à SQL 2005/2008 même si Un emplacement n'existe pas. Après la restauration, la base de données serait toujours avoir les fichiers sur l'emplacement de B (avant la restauration).
Cependant, exactement le même scénario avec SQL 2012, la restauration échoue avec l'erreur que vous avez besoin d'utiliser le "À DÉPLACER".
Pas sûr si c'était prévu ou pas, puisque je n'ai pas trouvé que le changement est documenté par Microsoft...
OriginalL'auteur DanT