共用方式為


升級 Database Engine

本主題提供了您在準備和了解升級程序時所需要的資訊,其中涵蓋:

  • 已知的升級問題。

  • 升級前的工作和考量。

  • 升級 Database Engine 之程序主題的連結。

  • 將資料庫移轉到 SQL Server 之程序主題的連結。

  • 容錯移轉叢集的考量。

  • 升級後的工作和考量。

已知的升級問題

升級 Database Engine 之前,請先檢閱 SQL Server Database Engine 回溯相容性。如需有關支援的升級狀況與已知升級問題的詳細資訊,請參閱<支援的版本與版本升級>。如需其他 SQL Server 元件之回溯相容性的資訊,請參閱<回溯相容性>。

重要事項重要事項

從 SQL Server 的一個版本升級到另一個版本之前,請確認您目前使用的功能在您想要升級後的版本中有受到支援。

[!附註]

當您從舊版的 SQL Server Enterprise 版本升級為 SQL Server 2012 時,請選擇 [Enterprise 版:核心授權] 或 [Enterprise 版]。這些 Enterprise 版只有在授權模式方面不同。如需詳細資訊,請參閱<SQL Server 版本的計算容量限制>。

升級前檢查清單

SQL Server 安裝程式支援從舊版升級 SQL Server。您也可以從舊版的 SQL Server 移轉資料庫。您可以從一個 SQL Server 執行個體移轉到同一部電腦的另一個執行個體,或是從另一部電腦的 SQL Server 執行個體移轉。移轉選項包括使用複製資料庫精靈、備份和還原功能、使用 SQL Server Integration Services 匯入和匯出精靈,以及大量匯出/大量匯入方法。

在升級 Database Engine 之前,務必先執行下列動作:

在您升級 SQL Server 之前,請檢閱下列問題並進行變更:

  • 升級 SQL Server 的執行個體時,如果 SQL Server Agent 編列在 MSX/TSX 關聯性中,請先升級目標伺服器,然後再升級主要伺服器。如果您先升級主要伺服器,然後再升級目標伺服器,SQL Server Agent 將無法連接至 SQL Server 的主要執行個體。

  • 從 64 位元版本的 SQL Server 升級成 64 位元版本的 SQL Server 2012 時,您必須先升級 Analysis Services,再升級 Database Engine。

  • 從要升級的執行個體備份所有 SQL Server 資料庫檔案,好讓您可以在必要時還原它們。

  • 對要升級的資料庫執行適當的 Database Console Commands (DBCC),以確定它們處於一致狀態。

  • 除了使用者資料庫以外,也要評估升級 SQL Server 元件所需的磁碟空間。有關 SQL Server 元件所需的磁碟空間,請參閱<安裝 SQL Server 2012 的硬體和軟體需求>。

  • 確定現有的 SQL Server 系統資料庫 master、model、msdb 和 tempdb 都設定為自動成長,並確定它們有足夠的硬碟空間。

  • 確定所有資料庫伺服器在 master 資料庫中都有登入資訊。這對於還原資料庫很重要,因為系統登入資訊是位於 master 中。

  • 停用所有啟動預存程序,因為升級程序將會在升級的 SQL Server 執行個體上停止及啟動服務。在啟動時處理的預存程序可能會封鎖升級程序。

  • 停止複寫,並確定複寫記錄檔是空的。

  • 結束所有應用程式,包括具有 SQL Server 相依性的所有服務。如果本機應用程式連接到要升級的執行個體,則升級可能會失敗。

  • 如果您要利用資料庫鏡像,請參閱《SQL Server 線上叢書》中的<在升級伺服器執行個體時將鏡像資料庫的停機時間減至最少>。

升級 Database Engine

您可以用版本升級來覆寫 SQL Server 2005 或更新版本的安裝。如果在執行 SQL Server 安裝程式時偵測到舊版的 SQL Server,所有舊版的 SQL Server 程式檔都會升級,但是會保留舊版 SQL Server 執行個體中儲存的所有資料。此外,舊版的《SQL Server 線上叢書》將原封不動地保留在電腦上。

警告注意事項注意

當您升級 SQL Server 時,會覆寫先前的 SQL Server 執行個體,所以它不再存在於電腦上。升級之前,請備份 SQL Server 資料庫以及與先前的 SQL Server 執行個體相關聯的其他物件。

您可以使用 SQL Server 安裝精靈來升級 Database Engine。

升級後的資料庫相容性層級

升級之後,tempdbmodelmsdbResource 資料庫的相容性層級會設定為 110。master 系統資料庫會繼續保有升級前的相容性層級。

如果使用者資料庫的相容性層級在升級前為 90 或 100,則在升級後仍會保持相同。如果升級前的相容性層級為 80 或更小,則在升級後的資料庫中,相容性層級會設定為 90 (這是 SQL Server 2012 所支援的最低相容性層級)。

[!附註]

新的使用者資料庫會繼承 model 資料庫的相容性層級。

移轉資料庫

您可以使用 SQL Server 中的備份和還原或是卸離和附加功能,將使用者資料庫移到 SQL Server 執行個體。如需詳細資訊,請參閱<使用備份與還原複製資料庫>或<資料庫卸離與附加 (SQL Server)>。

重要事項重要事項

來源和目的地伺服器上具有相同名稱的資料庫將無法移動或複製。在此情況下,會將它標示為「已存在」。

如需詳細資訊,請參閱<使用複製資料庫精靈>。

升級 Database Engine 之後

在升級 Database Engine 之後,請完成下列工作:

  • 重新註冊伺服器。如需有關註冊伺服器的詳細資訊,請參閱《SQL Server 線上叢書》中的<註冊伺服器>主題。

  • 為確保查詢結果中語意的一致性,必須重新擴展全文檢索目錄。

    SQL Server 2012 會安裝新的斷詞工具,供全文索引與語意搜尋之用。編製索引及查詢時皆可使用斷詞工具。如不重建全文索引目錄,可能會造成搜尋結果不一致。當您發出全文索引查詢,尋找在舊版 SQL Server 斷詞工具中與目前之斷詞工具中斷詞方式相異的片語,可能會無法擷取含有該片語的文件或資料列。這是索引片語所使用的分解邏輯與查詢所用者不相同所致。此方案會使用新的斷詞工具重新擴展 (重建) 全文索引目錄,讓索引與查詢時的行為一致。

    如需詳細資訊,請參閱《SQL Server 線上叢書》中的<sp_fulltext_catalog (Transact-SQL)>主題。

  • 在所有資料庫上執行 DBCC UPDATEUSAGE,以更正任何不正確的資料列或頁面計數。

  • 設定 SQL Server 安裝。為了減少系統的可攻擊介面區,SQL Server 可以選擇性地安裝和啟用主要服務和功能。

  • 驗證或移除 SQL Server 2005 所產生及套用至資料分割資料表和索引上之查詢的 USE PLAN 提示。

    SQL Server 2012 改變了在資料分割資料表和索引上處理查詢的方式。在資料分割物件上,針對 SQL Server 2005 所產生之計畫使用 USE PLAN 提示的查詢包含了無法在 SQL Server 2012 中使用的計畫。我們建議您在升級到 SQL Server 2012 之後,使用以下程序。

    在查詢中直接指定 USE PLAN 提示時:

    1. 從查詢中移除 USE PLAN 提示。

    2. 測試查詢。

    3. 如果最佳化工具未選取適當的計畫,請微調查詢,然後考慮使用所要的查詢計畫指定 USE PLAN 提示。

    在計畫指南中指定 USE PLAN 提示時:

    1. 使用 sys.fn_validate_plan_guide 函數檢查計畫指南是否有效。或者,您也可以使用 SQL Server Profiler 中的 Plan Guide Unsuccessful 事件來檢查是否有無效的計畫。

    2. 如果此計畫指南無效,請捨棄此計畫指南。如果最佳化工具未選取適當的計畫,請微調查詢,然後考慮使用所要的查詢計畫指定 USE PLAN 提示。

    當計畫指南中指定了 USE PLAN 提示時,無效的計畫將不會造成查詢失敗。而是會編譯此查詢,而不使用 USE PLAN 提示。

在升級之前標示為已啟用或已停用全文檢索的任何資料庫,都會在升級之後維持該狀態。升級之後,會針對所有已啟用全文檢索的資料庫自動重建及擴展全文檢索目錄。這是一項耗費時間和資源的作業。您可以執行下列陳述式來暫停全文檢索索引作業:

EXEC sp_fulltext_service 'pause_indexing', 1

若要繼續全文檢索索引母體擴展,請執行下列陳述式:

EXEC sp_fulltext_service 'pause_indexing', 0

請參閱

參考

支援的版本與版本升級

概念

使用 SQL Server 的多個版本和執行個體

回溯相容性

升級複寫的資料庫