【问题标题】:Error: Specified cast is not valid. (SqlManagerUI)错误:指定的强制转换无效。 (SqlManagerUI)
【发布时间】:2012-04-10 11:22:05
【问题描述】:

我有一个来自 SQL Server 2008 R2 数据库的备份。 当我想将此备份还原到 SQL Server 时,我收到此错误: “错误:指定的转换无效。(SqlManagerUI)” 如何解决此错误? 谢谢。

【问题讨论】:

  • WITH MOVE 'YourMDFLogicalName' TO 'D:\DataYourMDFFile.mdf', -调整路径 MOVE 'YourLDFLogicalName' TO 'D:\DataYourLDFFile.ldf' mdf ldf

标签: sql-server-2008-r2 database-restore


【解决方案1】:

当您尝试在较旧的 SQL 数据库中恢复较新版本的备份时,也会发生这种情况。例如,当您尝试恢复在 2012 年创建的具有 110 兼容性的数据库备份并且您尝试在 2008 R2 中恢复它时。

【讨论】:

  • 你有解决方案吗?
【解决方案2】:

有一些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' 

【讨论】:

  • SQL Server 中文件的名称。在管理工作室;打开查询;使用您正在备份的数据库运行从 sys 文件中选择名称它的名称列。
  • 对于像我这样的菜鸟。 u07ch 的注释是正确的,但在查询中包含一个拼写错误:select name from sysfiles
【解决方案3】:

有时候是因为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 行 VERIFY DATABASE 异常终止。

进一步检查:

RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak'

BackupName 是“* INCOMPLETE *”, 位置为“1”, 其他字段为“NULL”。

表示您的备份已损坏或取自较新版本。

【讨论】:

    【解决方案4】:

    从 SQL Server 2012 恢复到 SQL Server 2008 R2 时,我遇到了类似的错误“Specified cast is not valid”

    首先我得到了 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”这个名字,但这对我有用。

    不过,备份(和数据库)不能向后兼容旧版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多