1. 使用Upgrade Adviser评估升级前需要解决的事情。
2. 查看新版本的变更的内容和遗弃的功能. 如果升级后出现某些无名肿痛时,可以考虑是否因为这些改变造成。
3. 使用DBCC CHECKDB WITH DATA_PURITY 检查数据库。
对于在 SQL Server 2005 及更高版本中创建的数据库,默认情况下将启用列值完整性检查,并且不需要使用 DATA_PURITY 选项。 对于从 SQL Server 的早期版本升级的数据库,默认情况下不启用列值检查,直到 DBCC CHECKDB WITH DATA_PURITY 已在数据库中正确运行为止。 然后,DBCC CHECKDB 将默认检查列值完整性。
如果指定了 PHYSICAL_ONLY,则不执行列完整性检查。
当不确定数据是否是从SQL 2005之前的版本逐步升级而来,则最好使用DATA_PURITY。
4. 使用DBCC UPDATEUSAGE。它能找出并修改目录视图中不准确的页和行计数,从而确保sp_spaceused的结果是较准确的。
5. 更新数据库的统计信息
SP_UPDATESTATS更新库中所有的用户表和内部表的统计信息。
UPDATE STATISTICS (Transact-SQL),提供了更新操作控制选项,对更新和迁移的库,使用fullscan会生成更准确的统计信息。
EXEC sp_MSforeachtable @command1='UPDATE STATISTICS ? WITH FULLSCAN';
6. 如果有必要更新视图的元数据
7. SQL 2012开始不支持AWE,避免使用32位的操作系统
8. 对于原地升级的数据库,注意最多只能跨三个版本限制。
也就是说SQL2000是无法直接升级到SQL2012/2014,而需要升级到2005或2008或者2008R2再升级到2012/2014.
9.对于SQL 2014,还需要考虑是需要将兼容改成120。
改成120则会使用新基数估计(Cardinality Estimator)方式:https://msdn.microsoft.com/zh-cn/library/dn600374.aspx
对于数据库是否需要新的CE,需要经过测试。参考:https://msdn.microsoft.com/en-us/library/dn673537.aspx
10. 如果有必要,还可以了解一下产品的发行说明,知道一些产品已知的问题。
11. 升级后的数据库在正式投入服务前,最好做一次完整备份,以防万一。