2

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

我尝试通过转到数据库-> [数据库]->所有任务->备份数据库...,选择“完整”并保存文件来备份旧服务器上的数据库。我将该备份文件移至新服务器并尝试进行还原,但它抱怨说它正在旧服务器上的位置寻找 [Database].mdf 文件。

所以然后我尝试做一个导出数据,选择本地 SQL 2000 数据库,将它指向另一台机器上的新 SQL 2005 数据库,它一直到最后并死去抱怨其中一个表的方式是被加入。

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

有没有其他方法可以尝试迁移这个数据库?

4

4 回答 4

5

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

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

于 2008-09-30T19:29:19.947 回答
2

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

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

于 2008-09-30T19:28:48.110 回答
2

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

恢复

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

于 2008-09-30T19:44:21.333 回答
0

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

于 2010-12-16T14:21:08.247 回答