在另一台计算机上将SQL2000数据库迁移到SQL2005
几天来,我一直在用这个应用程序迁移打败自己。我所拥有的是一个旧的,支持MSSQL Server 2000的应用程序,该应用程序已升级到运行SMSQL Server 2005的Windows 2003 Server。我对SQL Server知之甚少,但显然还不够。
我尝试通过转到数据库-> [数据库]->所有任务->备份数据库...,选择"完整"并保存文件来备份旧服务器上的数据库。我将该备份文件移到新服务器上并尝试进行还原,但它抱怨说它正在旧服务器上的位置中寻找[Database] .mdf文件。
因此,然后我尝试执行"导出数据",选择本地SQL 2000数据库,将其指向另一台计算机上的新SQL 2005数据库,然后它一直运行到最后,并抱怨表的一种方式死掉了。被加入。
然后,我尝试在2000框上执行" Generate SQL"命令并在SQL 2005下运行。看起来有很多外部联接使用SQL Server 2005不再支持的旧* =语法,这是供应商数据库,不知道他们设置这些表的真正意图是什么。
还有其他方法可以尝试迁移此数据库吗?
解决方案
我们可以将数据库与旧服务器分离,将mdf和ldf(以及任何其他相关文件)复制到服务器服务器,然后将数据库添加到新服务器。
添加后,SQL Server会将其升级到2005格式的数据库。如果我们在兼容性方面遇到问题,也可以更改它。在SQL Server Management Studio中,右键单击数据库,单击"属性",再单击"选项",然后将兼容模式更改为" SQL Server 2000(80)"。
备份文件具有存储在其中的数据文件的"硬"位置。我们只需要更新它们:
在2005年还原时,在单击最终的"确定"以还原之前(选择.bak文件之后),请转到"选项"选项卡。这将具有备份文件中的mdf和ldf位置。将这些更改为新计算机上的合法目录。
如Peter所述,我们必须将路径更改为新服务器上存在的新路径。
这张图片将有助于:
我几年前学到的一个技巧是单击最后一个选项按钮("将数据库保留为只读...")一分钟,以查看和复制数据文件在新服务器中的位置。只是不要忘记在还原之前将其放回第一个选项
创建SQL2000数据库的备份到文件。在SQL2005上用相同的名称创建新数据库,然后使用"强制对现有数据库进行还原"选项将备份文件还原到新数据库中,并将新数据库的符合级别设置为" SQL2000(8.0)"。