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. 升級后的數據庫在正式投入服務前,最好做一次完整備份,以防萬一。