2009-10-30 2 views
0

Je dois restaurer une base de données partionnée comportant plusieurs groupes de fichiers. Dans la restauration option dans le SSME que je dois modifier manuellement tout le chemin des groupes de fichiers ramènerai en option, il peu peu fastidieux car il ayant plus de 150 groupes de fichiersRestaurer la base de données partionnée dans plusieurs groupes de fichiers

eg:USE master 
GO 
-- First determine the number and names of the files in the backup. 
RESTORE FILELISTONLY 
    FROM MyNwind_1 
-- Restore the files for MyNwind. 
RESTORE DATABASE MyNwind 
    FROM MyNwind_1 
    WITH NORECOVERY, 


     MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
     MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf' 

GO 
-- Apply the first transaction log backup. 
RESTORE LOG MyNwind 
    FROM MyNwind_log1 
    WITH NORECOVERY 
GO 
-- Apply the last transaction log backup. 
RESTORE LOG MyNwind 
    FROM MyNwind_log2 
    WITH RECOVERY 
GO 

Ici, je dois spécifier plusieurs commandes de déplacement pour tous mes groupes de fichiers, ceci est une tâche fastidieuse en ayant 100s de

groupes de fichiers
MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
      MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf' 

je dois déplacer les fichiers dans le chemin que je fourni en tant que paramètre.

Répondre

1

Vous pouvez générer la liste MOVE avec une requête comme:

select 'MOVE ''' + name + ''' TO ''D:\MyData\' + name + '.mdf'',' 
from sys.filegroups 
Questions connexes