Cherchant à restaurer à partir de plusieurs fichiers bak à un test de base de données SQL
nous avons une grande SQL db que nous nous sommes séparés en 4 bak fichiers dans les sauvegardes nocturnes, donc il peut facilement être envoyé hors site. Nous utilisons cette déclaration (db noms ont été changés)
BACKUP DATABASE [Data] TO
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH INIT, NOUNLOAD, NAME = 'Data backup', NOSKIP , STATS = 10, NOFORMAT
Tous les quatre des sauvegardes ont les mêmes noms logiques pour la mdf et ldf fichiers dans le bak.
Je veux être en mesure de restaurer ces quatre sauvegardes dans une base de données différente sur le serveur de test. J'ai trouvé un script t-sql dans ce post qui je pense va faire, mais je ne suis pas sûr. Quelqu'un peut-il aider?
Je suis en train de penser que je pouvais adapter et exécuter le script comme suit:
RESTORE DATABASE Data_test FROM
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test1.mdf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test2.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test3.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test4.ndf',
MOVE 'Prod_Log' TO 'C:\SQLtlogs\Data_test1.ldf'
Pensez-vous que cela pourrait fonctionner? Et ce test db entre pas en conflit avec la prod db à partir de laquelle il a été restauré? Toute aide serait super, merci.
OriginalL'auteur user2704019 | 2013-08-21
Vous devez vous connecter pour publier un commentaire.
OK, j'ai effectivement eu ce de travailler avec l'interface utilisateur graphique pour la SSMS. Tout ce que vous avez à faire est de choisir les Tâches, Restaurer la Base de données, choisissez à partir de l'appareil, puis ajouter tous les quatre fichiers de les séparer bak fichiers, puis cliquez sur OK et faire de la restauration à l'aide de Remplacer, de modifier les noms de fichiers mdf et ldf, de telle manière qu'ils sont pour l'essai db et non de production. SSMS sait les quatre fichiers font partie de la même support et le remonter dans le mdf et ldf fichier. Regarde comme je n'ai pas besoin d'un script après tout.
OriginalL'auteur user2704019
J'ai utilisé cette commande TRANSACT-SQL pour faire presque la même chose que vous avez demandé. La seule différence est que j'ai été uniquement le déplacement de chaque fichier logique à un seul fichier physique. Ma commande (modifié pour utiliser votre exemple) ressemble à ceci:
OriginalL'auteur CrimeWire