2014-10-02 86 views
0

我們計劃從SQL Server 2000遷移到2012.我知道必須以此方式完成此操作。確定從SQL Server 2000遷移到2012時的兼容性問題

的SQL Server 2000 - > SQL服務器2005/2008 - > SQL Server 2012的

我們先用SQL Server 2008 R2的測試,但它必須在兼容模式80,由於一些問題上運行一些存儲過程使用非ANSI標準連接編寫(例如,*=LEFT JOIN)。我知道SQL Server 2012不提供SQL Server 2000的兼容性選項。

所以我必須在ANSI標準中重寫存儲過程/視圖/函數。但我的問題是,如何確定由於此遷移而出現的所有兼容性問題?去系統的每個角落並檢查是非常困難的。是否有任何工具可用於報告問題領域。或者做這件事的最好方法是什麼。

我一直在尋找過去的幾個小時,很多人建議首先在SQL Server 2012上測試系統。是的,我會這樣做,但我擔心的是,如果今天我們錯過了什麼東西會彈出。這是什麼專家的方式。或者我們應該解決SQL Server 2008 R2。

非常感謝 約翰

+2

沒有魔法 - 你只需要測試它(你*仍然*可能會錯過的東西)。升級顧問和最佳實踐分析器可以捕獲很多,但不是全部。不,我不會建議堅持2008 R2來避免這項工作。 (1)2008 R2已經不受主流支持。 (2)你無法永遠留在2008 R2,所以你只是在拖延不可避免的事情。請參閱[本dba.se Q&A](http://dba.stackexchange.com/questions/44908/what-is-the-actual-behavior-of-compatibility-level-80)和[本博客文章](http: //blogs.sqlsentry.com/aaronbertrand/bad-habits-old-compatibility-levels/)。 – 2014-10-02 14:56:31

+0

另外,如果你正在考慮2012年,但沒有承諾,爲什麼不考慮2014年? – 2014-10-02 15:05:23

+0

2012是我們組織中最新的公認版本。 – 2014-10-02 16:12:31

回答

0

我工作的一個類似的遷移:從SQL 2000至2014年的SQL 同樣的問題。

只有一個解決方案,我發現:橋機。

步驟1:在SQL 2000上收集跟蹤。模板:SQLProfilerTSQL_Replay。

步驟2:在sql 2000數據庫上運行SQL 2008的顧問程序,它也可以處理跟蹤。

第3步:將您的數據庫附加到sql 2008橋樑上。複製數據文件並附加它們,使用備份和恢復,或者你喜歡的。

步驟4:將兼容模式提高到2008(或2008r2,差別不是很大)。

第5步:運行2012年(2014年我的情況)顧問。

第6步:將SQL 2012升級後的升級數據庫升級到新的兼容模式。

第7步:運行一些檢查腳本。

DBCC CHECKDB WITH DATA_PURITY; 

在您所有的數據庫上。 一些racomand也:

DBCC UPDATEUSAGE(db_name); 

此外,我建議更新統計等。 如果您有全文索引等問題會更加複雜,但您必須面對一個問題。

第8步:在測試環境中測試所有可能的應用程序。

第9步:嚇跑你的老闆。下次你不需要跳過12年的技術。我理解你,真的,同樣的問題。

額外:寫信給我,如果你想交換意見和麻煩。我現在正在進行移植。

相關問題