微軟在SQL Server 2005中就引進了升級顧問(Upgrade Advisor)。這款工具可以在執行SQL Server數 據庫升級計劃之前在一個安全的環境下對你當前的SQL Server數據庫進行調試和分析。任何項目計劃實施 要想獲得成功的關鍵因素就是風險管理,而這款工具可以在不引進任何風險的情況下進行風險評估,然後 逐個地評估解決該工具識別可能存在妨礙升級的問題,從而為在可控的方式下開始進行升級計劃。值得慶 幸的消息是,微軟將繼續在SQL Server 2008中提供這款工具。下面我們要討論的對象就是新版本中的這 個工具。
這個架構受歡迎的一個原因是我們可以在一台獨立的台式機上安裝升級顧問,然後將其遠程連接到原 有的SQL Server機器上。然後,升級顧問會在只讀模式下進行分析調試,不會改變原有服務器上的任何東 西。這樣的方式會讓人感覺更加舒服,因為在調試分析過程中SQL Server能夠繼續以正常的方式運作,同 時我們能夠查看生成的分析結果報告,並開始規劃升級事宜。升級顧問會分門別類羅列出所發現的問題, 如錯誤或警告等等。對於每一個問題,都有一個相關的幫助文檔鏈接,可以告訴你更多關於這個問題的信 息以及解決方案。當你逐個處理完這些妨礙點之後,你就可以將這些問題標記為“已解決”。 當你下一次運行升級顧問時,已解決的問題就不會再出現,你只要解決新出現的問題就可以了,這樣一直 到升級顧問給出的結果報告沒有問題出現為止。不過微軟在SQL Server 2005中玩了一點小花樣。就算你 的服務器在分析測試中找不出什麼問題,升級顧問也還是會列出至少一個數據庫引擎錯誤,標明為 “其他數據庫引擎升級問題”。微軟的本意是為了讓大家在升級過程中提高警惕不要自滿大意 ,於是將這條代碼寫死在程序中,迫使我們查閱相關的一般升級問題的基礎知識文檔。我們可以自己將這 個錯誤標記為“已解決”。值得慶幸的是,微軟在SQL Server 2008中也沿用了這個策略。
在SQL Server 2005中,為升級顧問提供支持的知識庫(knowledge base)內容很豐富且詳細,非常有用 。每一篇文檔都對問題進行了詳細的解析,並列舉出解決該問題的可能方法和步驟。如果你期待2008版能 繼承前輩的優良傳統,那你可能要失望了。對於很多問題的解答,2008版的知識庫都是輕描淡寫一筆帶過 ,沒有提供更多有用的信息。例如,對於一些SQL Server 2005有而在SQL Server 2008中不再支持的功能 ,知識庫只是簡單的一句話說在此版本中不再支持該功能,而糾正該問題的方法也是簡單地讓用戶避免在 新的開發工作中使用該功能等等,而不再詳細地為我們解釋理由來。原本在很多人眼裡,SQL Server的幫 助系統“聯機叢書”可能是能找到的最棒的幫助文檔集合,不過現在對SQL Server 2008似乎 並不適用,SQL Server 2008的升級顧問知識庫沒能達到這麼高的標准。這恐怕和微軟測試計劃中缺少足 夠的疊代有關,如果當初還有另一個候選版本的話可能就能提供足夠的時間來處理這類事情了。