restauration de base de données à défaut avec le déménagement

je suis en train de restaurer une sauvegarde de base de données, mais se l'erreur:

échec de la restauration pour le serveur 'ASIF-VAIO'. (Microsoft.SqlServer.SmoExtended)

INFORMATION SUPPLÉMENTAIRE:

Système.Données.SqlClient.SqlError: fichier "C:Program fichiersMicrosoft SQL ServeurMSSQL10_50.MSSQLSERVERMSSQLDATAuwa.mdf ' est réclamé par "Aston_Fresh_log" (2) et "Aston_Fresh" (1). La clause de mouvement peut être utilisé pour déplacer un ou plus de fichiers. (Microsoft.SqlServer.Smo)

18
demandé sur marc_s 2013-02-19 13:18:37

5 réponses

Lors de la restauration, vous devez être sûr de

  • choisissez un nouveau nom de base de données qui n'existe pas encore (à moins que vous ne vouliez écraser cette base de données préexistante)

enter image description here

  • vous cochez la case Overwrite option Options onglet page et définir valide et les nouveaux noms de fichiers pour les .mdf et .ldf fichier pour ne pas écraser accidentellement une autre base de données sur votre système:

enter image description here

27
répondu marc_s 2013-02-19 09:42:35

Ce post a d'excellentes réponses, mais je ne crois pas que ma solution était couvert ici, ou je n'ai pas compris la réponse/commentaire.

cependant, quand j'ai rencontré cette erreur, je restaurais une base de données avec 2 index (primaire et Index). La question était que lors de la restauration il avait créé deux .fichiers ndf, un pour chaque index, mais les avait nommés la même chose.

donc essentiellement j'ai eu deux "restaurer comme" Fichiers restaurer à "D:\MSSQLDATA\DatabaseName.NDF.

pour surmonter cela j'ai dû changer un des noms de fichier, donc par exemple j'ai changé

 Index      |    D:\MSSQLDATA\DatabaseName.ndf
 Primary    |    D:\MSSQLDATA\DatabaseName1.ndf

avoir des noms de fichiers uniques a corrigé ceci pour moi.

4
répondu TheRealKernel 2015-03-11 04:38:52

cela a fonctionné pour moi: donner un nom différent à chaque fichier MDF et LDF dans la section script.

MOVE N'R_Data' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db1.mdf',

MOVE N'R_audit' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db2.mdf', 

etc...

Initialement suggéré par Alberto Morillo

3
répondu Lisa 2014-09-03 11:12:54

je sais que c'est long depuis la dernière réponse, mais je me trouve à chercher dans google la solution pour ce problème. Ce qui a fait ça pour moi, c'était de scripter la restauration (changer le nom du fichier n'a pas fait l'affaire) et de changer manuellement les noms de fichiers en code

RESTORE DATABASE [DB_NAME] 
FILE = N'[name]',  
FILE = N'[name1]',
FILE = N'[name2]' 
FROM  DISK = N'[file_path]' 
WITH  FILE = 1m
MOVE N'[name]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\[name].mdf',
MOVE N'[name1]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\[name1].mdf',
MOVE N'[name2]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\[name2].mdf',
MOVE N'[logname]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\[logname].ldf'
NOUNLOAD,
REPLACE,
STATS = 10
GO

Cordialement

1
répondu Grzegorz Ochlik 2017-09-15 13:00:47

si vous avez ce problème et que ce n'est pas le cas, essayez sous les Options de restauration > fichiers, cochez la case Relocate all files to folder.

enter image description here

0
répondu Dispersia 2017-11-27 16:20:14