J'essaie de restaurer une sauvegarde de base de données mais j'obtiens une erreur:
La restauration a échoué pour le serveur 'ASIF-VAIO'. (Microsoft.SqlServer.SmoExtended)
INFORMATION ADDITIONNELLE:
System.Data.SqlClient.SqlError: Fichier 'C:\Program Files\Microsoft SQL Serveur\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\uwa.mdf 'est revendiqué par 'Aston_Fresh_log' (2) et 'Aston_Fresh' (1). La clause WITH MOVE peut être utilisé pour déplacer un ou plusieurs fichiers. (Microsoft.SqlServer.Smo)
Lors de la restauration, vous devez vous assurer de
Overwrite
dans la page à onglet Options
et définissez valide et les nouveaux noms de fichier pour les fichiers .mdf
et .ldf
afin d'éviter de remplacer accidentellement une autre base de données sur votre système:Cet article contient d'excellentes réponses mais je ne crois pas que ma solution a été abordée ici ou je n'ai pas compris la réponse/le commentaire.
Cependant, lorsque j'ai rencontré cette erreur, je restaurais une base de données avec 2 index (primaire et index). Le problème était que lors de la restauration, il avait créé deux fichiers .ndf, un pour chaque index, mais leur avait donné le même nom.
Donc, en gros, deux fichiers "Restore As" ont été restaurés en "D:\MSSQLDATA\DatabaseName.ndf.
Pour surmonter cela, je devais changer l’un des noms de fichiers. Ainsi, par exemple, j’ai changé
Index | D:\MSSQLDATA\DatabaseName.ndf
Primary | D:\MSSQLDATA\DatabaseName1.ndf
avoir des noms de fichiers uniques corrige cela pour moi.
Cela a fonctionné pour moi: attribuer 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
Je sais que cela fait longtemps depuis la dernière réponse, mais j’ai trouvé par hasard dans Google une solution à ce problème . dans du 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
Si vous rencontrez ce problème et qu'il ne s'agit pas du précédent, essayez sous Options de restauration> Fichiers, cochez la case Transférer tous les fichiers dans un dossier.