J'ai une sauvegarde de la base de données dans SQL Server 2008 R2 . Lorsque je souhaite restaurer cette sauvegarde sur SQL Server, le message d'erreur suivant s'affiche: "Erreur: la conversion spécifiée n'est pas valide. (SqlManagerUI)". Comment résoudre cette erreur? Merci.
Il y a des funnies restaurant d'anciennes bases de données dans SQL 2008 via le gars; Avez-vous essayé de le faire via TSQL?
Use Master
Go
RESTORE DATABASE YourDB
FROM DISK = 'C:\YourBackUpFile.bak'
WITH MOVE 'YourMDFLogicalName' TO 'D:\Data\YourMDFFile.mdf',--check and adjust path
MOVE 'YourLDFLogicalName' TO 'D:\Data\YourLDFFile.ldf'
Cela se produirait également lorsque vous essayez de restaurer une sauvegarde de version plus récente dans une base de données SQL plus ancienne. Par exemple, lorsque vous essayez de restaurer une sauvegarde de base de données créée en 2012 avec une compatibilité 110 et que vous essayez de la restaurer dans 2008 R2.
Parfois, cela se produit à cause du changement de version tel que store 2012 db sur 2008, alors comment le vérifier?
RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak'
si cela donne une erreur comme:
Msg 3241, niveau 16, état 13, ligne 2 La famille de supports sur le périphérique 'd:\alibaba.bak' est mal formée. SQL Server ne peut pas traiter cette famille de supports . Msg 3013, niveau 16, état 1, ligne 2 VERIFY DATABASE se termine anormalement.
Vérifiez plus loin:
RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak'
BackupName est " * INCOMPLETE * ", La position est "1", Les autres champs sont "NULL".
Signifie que votre sauvegarde est corrompue ou provient d'une version plus récente.
J'ai eu une erreur similaire "La distribution spécifiée n'est pas valide" lors de la restauration de SQL Server 2012 vers SQL Server 2008 R2
J'ai d'abord obtenu les noms MDF et LDF:
RESTORE FILELISTONLY
FROM DISK = N'C:\Users\Dell laptop\DotNetSandBox\DBBackups\Davincis3.bak'
GO
Deuxièmement, j'ai restauré avec MOVE en utilisant ces noms:
RESTORE DATABASE Davincis3
FROM DISK = 'C:\Users\Dell laptop\DotNetSandBox\DBBackups\Davincis3.bak'
WITH
MOVE 'JQueryExampleDb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.mdf',
MOVE 'JQueryExampleDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.ldf',
REPLACE
GO
Je n'ai aucune idée du nom "JQueryExampleDb", mais cela a fonctionné pour moi.
Néanmoins, les sauvegardes (et les bases de données) ne sont pas compatibles avec les versions antérieures.