我在SQL Server 2008 R2中有来自数据库的备份。 当我想将此备份还原到SQL Server时,我收到此错误: “错误:指定的强制转换无效。(SqlManagerUI)” 如何解决此错误? 感谢。
答案 0 :(得分:17)
当您尝试在较旧的SQL数据库中还原较新的版本备份时,也会发生这种情况。例如,当您尝试还原在2012年创建的具有110兼容性的数据库备份时,您尝试在2008 R2中还原它。
答案 1 :(得分:12)
有一些funnies通过该人将旧数据库恢复到SQL 2008中;你试过通过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'
答案 2 :(得分:4)
有时它会因为版本更改而发生,例如2008年的商店2012 db,所以如何检查它?
RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak'
如果它出现错误,如:
Msg 3241,Level 16,State 13,Line 2 设备上的媒体系列&#d; \ alibaba.bak'形成不正确。 SQL Server无法处理此媒体系列。 Msg 3013,Level 16,State 1,Line 2 VERIFY DATABASE正在异常终止。
进一步检查:
RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak'
BackupName是" * INCOMPLETE * ", 位置是" 1", 其他字段是" NULL"。
表示您的备份已损坏或从较新版本中删除。
答案 3 :(得分:0)
我有类似的错误"指定演员表无效"从SQL Server 2012还原到SQL Server 2008 R2
首先我获得了MDF和LDF名称:
RESTORE FILELISTONLY
FROM DISK = N'C:\Users\dell laptop\DotNetSandBox\DBBackups\Davincis3.bak'
GO
第二次,我使用MOVE使用返回的名称进行了恢复:
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
我不知道名字" JQueryExampleDb",但这对我有用。
尽管如此,备份(和数据库)并不向后兼容旧版本。