SQL Server 2000数据库移植到SQL Server 2008R2数据库服务器中碰到的”3145错误”及解决办法...

辛苦忙碌了一个星期终于安装配置好了TFS服务器,给每个团队成员分配了账户和邮箱。不过,老机器中的部分数据需要备份到新机器中,其中在移植一个使用DVBBS架设的论坛的时候,出了点问题,记录如下,以备查找,也希望能帮助到其他人。

由于论坛已经运行了一段时间,包括公司注册用户、相关讨论共享等重要资料,需要将其移植到新安装TFS服务器的机器上,并对外公开访问权限。旧的机器上安装的是SQL Server 2000,在将论坛数据库备份之后,在SQL Server 2008R2的数据库上还原的过程中,出现了如下的3145错误:

备份集中的数据库备份与现有的 'xxx' 数据库不同。

一直以为SQL Server数据库是向前后兼容的,怎么可能存在这样的问题呢?不过检查一番之后,确定两台数据库服务器都没有问题,且论坛的备份在原数据库服务器上可以正常还原。没办法,改之,把在SQL Server 2008R2上新建的数据库更改为 SQL Server 2000格式的,再尝试还原,仍然是同样的错误。在网上找了下,说到的办法,尝试了不少,其中有一篇是“备份集中的数据库备份与现有的数据库不同 SQL 2005 ERROR:3145 解决办法 ”,提供了如下命令方法:

1.新建一个与现有数据库重名的数据库

2.在查询窗口运行如下语句:

use master
restore database AdventureWorks from disk = 'E:\databasebackup\AdventureWorks.bak'
with replace, MOVE N'AdventureWorks_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.5\MSSQL\Data\AdventureWorks.mdf', MOVE N'AdventureWorks_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.5\MSSQL\Data\AdventureWorks_log.ldf'

从语句上来看,和在图形界面的操作是一样的,但是结果却是语句运行成功,图形界面怎么过不去。

在其他网页上也看到了类似的方法,也有不少成功解决这个错误的,不过,在SQL Server 2008R2服务器上,还是无法正确备份,也没有找到有其它人在SQL Server 2008R2上,用其它方法解决还原备份的问题。

不过,将论坛数据库从旧的SQL Server 2000上分离出来,再附加上SQL Server 2008R2上,成功,数据完整的恢复了!

不清楚为什么在SQL Server 2005上可以,在SQL Server 2008R2却不能恢复备份。不过,好在使用分离和附加的方法,成功将论坛迁移。在此记下,做为参考吧。

转载于:https://www.cnblogs.com/RitchieChen/archive/2012/02/16/2355119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值