app教程网 学习教程 sql server 2008数据库迁移(sqlserver2000数据库迁移到2008r2)

sql server 2008数据库迁移(sqlserver2000数据库迁移到2008r2)

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错误: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: