您可以將SQL Server 數據庫引擎升級到 SQL Server 2008。SQL Server 安裝程序只需最少的用戶干預就可升級 SQL Server 的早期版本。不過,正確的准備工作和熟悉升級過程可以更容易防止或解決出現的任何問題。
本主題提供了為升級過程進行准備和了解升級過程所需的信息,其中包括:
已知升級問題。
升級前的任務和注意事項。
有關升級數據庫引擎的過程主題的鏈接。
將數據庫遷移至 SQL Server 的過程主題的鏈接。
故障轉移群集的注意事項。
升級後的任務和注意事項。
重要提示:
在從 SQL Server 的某一版本升級到另一版本之前,請驗證要升級到的版本是否支持當前使用的功能。
升級准備一覽表
SQL Server 安裝程序支持從早期版本的 SQL Server 進行升級。也可以遷移早期 SQL Server 版本中的數據庫。可以從一個 SQL Server 實例遷移至同一台計算機上的另一個實例,也可以從另一台計算機上的 SQL Server 實例遷移。遷移選項包括使用復制數據庫向導、備份和還原功能、使用 SQL Server Integration Services 導入和導出向導,以及大容量導出/大容量導入方法。
請在升級 SQL Server 之前檢查下列問題並做出更改:
從 64 位版本的 SQL Server 升級到 64 位版本的 SQL Server 2008 時,必須在升級數據庫引擎之前先升級 Analysis Services。
如有必要,請備份要升級的實例中的所有 SQL Server 數據庫文件,以便可以還原這些文件。
在要升級的數據庫上運行適當的數據庫控制台命令 (DBCC),以確保這些數據庫處於一致狀態。
估計升級 SQL Server 組件以及用戶數據庫所需的磁盤空間。
確保將現有的 SQL Server 系統數據庫(master、model、msdb 和 tempdb)配置為自動增長,並確保它們具有足夠的硬盤空間。
確保所有數據庫服務器的 master 數據庫中都有登錄信息。這對還原數據庫很重要,因為 master 數據庫中有系統登錄信息。
禁用所有啟動存儲過程,因為升級過程在升級 SQL Server 實例時將停止然後再啟動服務。在啟動時進行處理的存儲過程可能會阻塞升級過程。
停止復制並確保復制日志是空的。
升級 SQL Server 2000 數據庫引擎實例的操作會保留最大工作線程數的配置值。但是,建議在升級前將最大工作線程數值更改為 0,以允許數據庫引擎計算最佳線程數。
退出所有應用程序,包括所有依賴 SQL Server 的服務。如果有本地應用程序連接到要升級的實例,則升級可能會失敗。
主機網全新上線,買空間、服務器就上主機網,安全有保障!
升級數據庫引擎
可以用升級版本覆蓋 SQL Server 2000 或 SQL Server 2005 安裝。如果在運行 SQL Server 安裝程序時檢測到 SQL Server 的早期版本,將升級所有早期 SQL Server 程序文件,並且保留早期 SQL Server 實例中存儲的所有數據。此外,計算機上早期版本的 SQL Server 聯機叢書將保持不變。
注意:
在升級 SQL Server 後,早期的 SQL Server 實例將被覆蓋,在計算機中不再存在。因此在升級前,請備份 SQL Server 數據庫以及與早期的 SQL Server 實例相關的其他對象。
可以使用 SQL Server 安裝向導升級數據庫引擎。
注意:
如果計算機安裝了 SQL Server 2000 管理工具和 SQL Server 2008 的默認實例,則 SQL Server 安裝程序將允許您安裝 SQL Server 2000 默認實例。但這樣做將禁用已安裝的 SQL Server 2008 實例。因此,當計算機中已存在 SQL Server 2000 管理工具和 SQL Server 2008 的默認實例時,請不要安裝 SQL Server 的默認實例。
升級後的數據庫兼容級別
升級後,tempdb、model、msdb 和 Resource 數據庫的兼容級別將設置為 100。master 系統數據庫保留它在升級之前的兼容級別,除非該級別小於 80。如果 master 的兼容級別在升級前小於 80,升級後兼容級別將設置為 80。
如果升級前用戶數據庫的兼容級別為 80 或 90,升級後將保持相應級別。如果升級前兼容級別為 70 或更低,則在升級後的數據庫中,兼容級別將設置為 80,該級別為 SQL Server 2008 支持的最低兼容級別。
注意:
新的用戶數據庫將繼承 model 數據庫的兼容級別。
遷移數據庫
可以使用 SQL Server 中的備份和還原功能或分離和附加功能將用戶數據庫移動到 SQL Server 實例。
重要提示:
數據庫在源服務器和目的服務器上的名稱相同時,不能進行移動或復制。在這種情況下,它被標記為“已存在”。
升級數據庫引擎後
升級數據庫引擎後,請完成以下任務:
重新注冊服務器。
重新填充全文目錄。此操作可以提高 SQL Server 安裝的性能。
從 SQL Server 2000 升級後,更新所有數據庫的統計信息。使用 sp_updatestats 存儲過程可以更新 SQL Server 數據庫中用戶定義的表中的統計信息。如果從 SQL Server 2005 升級,則不必執行此步驟。
對所有數據庫運行 DBCC UPDATEUSAGE 來更正任何不正確的行或頁計數。
配置 SQL Server 安裝。為了減少系統的可攻擊外圍應用,SQL Server 有選擇地安裝和啟用了一些關鍵服務和功能。
驗證或刪除 USE PLAN 提示,這些提示由 SQL Server 2005 生成並應用於對已分區表和索引的查詢。
SQL Server 2008 更改了對已分區表和索引的查詢方式。如果已分區對象將 USE PLAN 提示用於 SQL Server 2005 生成的計劃,針對這些對象的查詢可能會包含不可在 SQL Server 2008 中使用的計劃。建議升級到 SQL Server 2008 後,執行下列過程。
如果在查詢中直接指定 USE PLAN 提示:
從查詢刪除 USE PLAN 提示。
測試查詢。
如果優化器未選擇相應的計劃並優化查詢,請考慮使用所需的查詢計劃指定 USE PLAN 提示。
如果在計劃指南中指定 USE PLAN 提示:
使用 sys.fn_validate_plan_guide 函數來檢查計劃指南的有效性。或者,可以使用 SQL Server Profiler 中的 Plan Guide Unsuccessful 事件檢查是否存在無效計劃。
如果計劃指南無效,則刪除該計劃指南。如果優化器未選擇相應的計劃並優化查詢,則考慮使用所需查詢計劃指定 USE PLAN 提示。
當在計劃指南中指定 USE PLAN 提示時,無效的計劃將不會導致查詢失敗。相反,仍可在不使用 USE PLAN 提示的情況下對計劃進行編譯。
在升級前標記為啟用或禁用全文的數據庫,在升級後也將保持該狀態。升級後,將為所有啟用全文的數據庫自動重新生成並填充全文目錄。此項操作既耗時又耗費資源。可以通過運行以下語句暫停全文索引操作:
EXEC sp_fulltext_service 'pause_indexing', 1
若要恢復全文索引填充,請運行以下語句:
EXEC sp_fulltext_service 'pause_indexing', 0