我们计划从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。
非常感谢 约翰
答案 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年的技术。我理解你,真的,同样的问题。
额外:如果你想交换意见和麻烦,请写信给我。我现在正致力于迁移。