我正在升级旧网站,并将所有内容都转移到新的服务器和最新的软件版本。
作为升级的一部分,我需要将数据库从运行MS-SQL 7的Win2000服务器移动到运行MS-SQL 2008的新Win2008 64位服务器。
我试过在早期的testing运行期间做数据库备份和恢复, SQL 2008不会从版本7恢复数据库备份 。
我想我可以尝试使用BCP导出数据,并将其导入到2008计算机上具有相同模式的空数据库中。
否则,我可以尝试在新框上安装SQL 2000或SQL 2005,然后恢复到那个 – 然后:
要么
这是一个生产系统,所以传输数据会导致系统停机一段时间,但我想保持这个最低限度。
什么是接近这个升级的最好方法? 任何要注意的陷阱? 我应该使用BCP方式还是中间数据库版本?
如果你想升级,通过SQL 2000或SQL 2005,然后到SQL 2008。有很多关于如何做到这一点的文档。 在开始之前阅读它。 认真。
您的结构和数据传输方法也是一种select,但可能会遇到问题。 我会做升级的方法。 就个人而言,我会通过SQL 2005,然后到2008年。
您无法直接从SQL Server 7升级到SQL Server 2008。 本文档列出了可能的支持选项。 [ http://msdn.microsoft.com/en-us/library/ms143393.aspx%5D
你最好的select是从SQL Server 7升级到SQL Server 2000,从SQL Server 2000升级到SQL Server 2008.并且不要做太多的跳跃。 这是获得权威信息的最佳select。 http://www.microsoft.com/downloads/details.aspx?FamilyID=66d3e6f5-6902-4fdd-af75-9975aea5bea7&displaylang=en
升级后
你可能碰到更多的问题,所以规划和做作业是成功升级的关键。
我个人会去在中间服务器上恢复的方法。 复制结构和数据也应该有效,但实际上可能需要比两次detach + copy + attach操作更长的时间。
如果您确实使用BCP复制结构和数据方法,请确保正确设置目标数据库的兼容级别,以减less由于SQL自身更改而导致的问题。 有关这些差异的更多详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms178653(SQL.90).aspx 。
即使设置了兼容性级别,您也应该计划使用数据库的任何应用程序的完整回归testing,因为在您的代码依赖于在SQL7中保持不变的“未定义”行为的情况下,可能仍然存在细微差异,但在以后不能保证版本。