确定从SQL Server 2000迁移到2012时的兼容性问题

时间:2014-10-02 14:52:45

标签: sql-server-2012 sql-server-2000

我们计划从SQL Server 2000迁移到2012.我明白这必须以这种方式完成。

  

SQL Server 2000 - > SQL Server 2005/2008 - > SQL Server 2012

我们首先使用SQL Server 2008 R2进行了测试,但由于某些使用非ANSI标准连接编写的存储过程存在一些问题(例如*=用于{{1},因此必须在兼容模式80下运行}})。我知道SQL Server 2012不提供SQL Server 2000的兼容性选项。

所以我必须用ANSI标准重写存储过程/视图/函数。但我的问题是如何识别因迁移而导致的所有兼容性问题?很难去系统的每个角落检查。是否有可用于报告问题区域的工具。或者最好的方法是什么。

我一直在搜索过去几个小时,很多人建议先在SQL Server 2012上测试系统。是的,我会这样做,但我担心的是,如果我们今天想念的东西突然出现。这样做的专家方法是什么?或者我们应该使用SQL Server 2008 R2。

非常感谢 约翰

1 个答案:

答案 0 :(得分:0)

我正在进行类似的迁移:从SQL 2000到SQL 2014。 同样的问题。

我发现只有一种解决方案:桥机。

步骤1:在SQL 2000上收集跟踪。模板:SQLProfilerTSQL_Replay。

步骤2:在sql 2000数据库上运行SQL 2008的顾问程序,它也可以处理跟踪。

步骤3:将数据库附加到sql 2008 bridge istance上。复制数据文件并附加它们,使用备份和恢复,或者您喜欢的内容。

步骤4:将兼容性模式提升到2008(或2008r2,没有太大的区别)。

步骤5:运行2012(我的案例为2014年)顾问。

步骤6:在sql 2012 istance上升级数据库,并将它们升级到新的兼容模式。

第7步:运行一些检查脚本。

DBCC CHECKDB WITH DATA_PURITY;

在您的所有数据库上。 一些racomand也:

DBCC UPDATEUSAGE(db_name);

我还建议更新统计数据等。 如果你有全文索引等问题会更复杂,但你必须在时间上面对一个问题。

步骤8:在测试环境中测试所有可能的应用程序。

第9步:吓唬老板。下次你没有'需要跳12年的技术。我理解你,真的,同样的问题。

额外:如果你想交换意见和麻烦,请写信给我。我现在正致力于迁移。