我在 SQL Server 2008 R2 中有一个数据库备份。当我想将此备份还原到 SQL Server 时,我收到此错误:“错误:指定的强制转换无效。(SqlManagerUI)”如何解决此错误?谢谢。
问问题
121522 次
4 回答
17
当您尝试在较旧的 SQL 数据库中恢复较新版本的备份时,也会发生这种情况。例如,当您尝试恢复在 2012 年创建的具有 110 兼容性的数据库备份并且您尝试在 2008 R2 中恢复它时。
于 2013-07-29T05:58:52.730 回答
12
通过这个家伙将旧数据库恢复到 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'
于 2012-04-12T14:21:31.413 回答
4
有时是因为2008年的store 2012 db这样的版本变化而发生的,那么如何检查呢?
RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak'
如果它给出如下错误:
消息 3241,级别 16,状态 13,第 2 行设备“d:\alibaba.bak”上的媒体系列格式不正确。SQL Server 无法处理此媒体系列。消息 3013,级别 16,状态 1,行 2 验证数据库异常终止。
进一步检查:
RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak'
BackupName 为“ * INCOMPLETE * ”,Position 为“1”,其他字段为“NULL”。
意味着您的备份已损坏或取自较新版本。
于 2014-10-25T01:13:14.837 回答
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”这个名字,但这对我有用。
然而,备份(和数据库)不向后兼容旧版本。
于 2014-12-08T00:04:21.767 回答