這個架構(gòu)受歡迎的一個原因是我們可以在一臺獨(dú)立的臺式機(jī)上安裝升級顧問,然后將其遠(yuǎn)程連接到原有的SQL Server機(jī)器上。然后,升級顧問會在只讀模式下進(jìn)行分析調(diào)試,不會改變原有服務(wù)器上的任何東西。這樣的方式會讓人感覺更加舒服,因?yàn)樵谡{(diào)試分析過程中SQL Server能夠繼續(xù)以正常的方式運(yùn)作,同時我們能夠查看生成的分析結(jié)果報(bào)告,并開始規(guī)劃升級事宜。升級顧問會分門別類羅列出所發(fā)現(xiàn)的問題,如錯誤或警告等等。對于每一個問題,都有一個相關(guān)的幫助文檔鏈接,可以告訴你更多關(guān)于這個問題的信息以及解決方案。當(dāng)你逐個處理完這些妨礙點(diǎn)之后,你就可以將這些問題標(biāo)記為“已解決”。當(dāng)你下一次運(yùn)行升級顧問時,已解決的問題就不會再出現(xiàn),你只要解決新出現(xiàn)的問題就可以了,這樣一直到升級顧問給出的結(jié)果報(bào)告沒有問題出現(xiàn)為止。不過微軟在SQL Server 2005中玩了一點(diǎn)小花樣。就算你的服務(wù)器在分析測試中找不出什么問題,升級顧問也還是會列出至少一個數(shù)據(jù)庫引擎錯誤,標(biāo)明為“其他數(shù)據(jù)庫引擎升級問題”。微軟的本意是為了讓大家在升級過程中提高警惕不要自滿大意,于是將這條代碼寫死在程序中,迫使我們查閱相關(guān)的一般升級問題的基礎(chǔ)知識文檔。我們可以自己將這個錯誤標(biāo)記為“已解決”。值得慶幸的是,微軟在SQL Server 2008中也沿用了這個策略。
在SQL Server 2005中,為升級顧問提供支持的知識庫(knowledge base)內(nèi)容很豐富且詳細(xì),非常有用。每一篇文檔都對問題進(jìn)行了詳細(xì)的解析,并列舉出解決該問題的可能方法和步驟。如果你期待2008版能繼承前輩的優(yōu)良傳統(tǒng),那你可能要失望了。對于很多問題的解答,2008版的知識庫都是輕描淡寫一筆帶過,沒有提供更多有用的信息。例如,對于一些SQL Server 2005有而在SQL Server 2008中不再支持的功能,知識庫只是簡單的一句話說在此版本中不再支持該功能,而糾正該問題的方法也是簡單地讓用戶避免在新的開發(fā)工作中使用該功能等等,而不再詳細(xì)地為我們解釋理由來。原本在很多人眼里,SQL Server的幫助系統(tǒng)“聯(lián)機(jī)叢書”可能是能找到的最棒的幫助文檔集合,不過現(xiàn)在對SQL Server 2008似乎并不適用,SQL Server 2008的升級顧問知識庫沒能達(dá)到這么高的標(biāo)準(zhǔn)。這恐怕和微軟測試計(jì)劃中缺少足夠的疊代有關(guān),如果當(dāng)初還有另一個候選版本的話可能就能提供足夠的時間來處理這類事情了。