在另一台计算机上将SQL 2000数据库迁移到SQL 2005

时间:2008-09-30 19:24:55

标签: sql-server database-migration

我已经通过这个应用程序迁移几天来打败了自己。我所拥有的是一个旧的MSSQL Server 2000支持的应用程序,它正在升级到运行SMSQL Server 2005的Windows 2003 Server。我对SQL Server知之甚少,但显然还不够。

我尝试通过转到Databases-> [Database] - > All Tasks-> Backup Database ...,选择'Full'并保存文件来备份旧服务器上的数据库。我将该备份文件移动到新服务器并尝试进行恢复,但它抱怨说它正在寻找旧服务器上的[Database] .mdf文件。

然后我尝试做一个导出数据,选择了本地SQL 2000数据库,将其指向另一台机器上的新SQL 2005数据库,并且它一路走到最后并死于抱怨其中一个桌子正在加入。

我尝试在2000框上执行'Generate SQL'命令并在SQL 2005下运行它。看起来有很多外连接使用SQL Server 2005不再支持的旧* =语法这是一个供应商数据库,在设置这些表时不知道他们的真实意图是什么。

我可以尝试其他方式迁移此数据库吗?

4 个答案:

答案 0 :(得分:5)

备份文件具有存储在其中的数据文件的“硬”位置。你只需要更新它们:

在2005年还原时,在单击最后“确定”以进行还原之前(在选择.bak文件之后),请转到选项选项卡。这将具有备份文件中的mdf和ldf位置。将这些更改为新计算机上的合法目录。

答案 1 :(得分:2)

您可以从旧服务器分离数据库,将mdf和ldf(以及任何其他相关文件)复制到服务器服务器,然后将数据库附加到新服务器。

当您附加它时,SQL Server会将其升级到2005格式的数据库。如果您在兼容性方面遇到问题,也可以更改它。在SQL Server Management Studio中,右键单击数据库,单击属性,单击选项,然后将兼容模式更改为“SQL Server 2000(80)”。

答案 2 :(得分:2)

正如彼得指出的那样,您必须将路径更改为新服务器上存在的新路径 这张照片将有所帮助:

restore

我多年前学到的一个技巧是单击最后一个选项按钮(“将数据库保留为只读...”)一分钟,以查看和复制数据文件在新服务器中的位置。 在恢复

之前,不要忘记将其恢复到第一个选项

答案 3 :(得分:0)

创建SQL2000数据库的备份到文件。在SQL2005上创建具有相同名称的新数据库,并使用“强制还原现有数据库”选项将备份文件还原到新数据库,并将新数据库的协同级别设置为“SQL2000(8.0)”。