web-dev-qa-db-fra.com

Erreur: la distribution spécifiée n'est pas valide. (SqlManagerUI)

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.

16
Tavousi

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' 
12
u07ch

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.

17
user1089020

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.

4
Ali Adravi

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.

0
Paul