選擇資料庫引擎升級方法

適用於:SQL Server - 僅限 Windows

為了要讓停機時間及風險降至最低,而打算從舊版 SQL Server 升級資料庫引擎時,有多種方法可考慮使用。 您可以就地執行升級、遷移到新的安裝或執行輪流升級。 下圖協助您在這些方法中做出選擇。 本文章也會討論圖中的每個方法。 為協助您了解圖表中的決策點,也可檢閱計劃和測試資料庫引擎升級計劃

Diagram that shows a Database Engine Upgrade Method Decision Tree.

下載

  • 若要下載 SQL Server,請前往評估中心

  • 有 Azure 帳戶嗎? 然後前往 Azure Marketplace,啟動已安裝 SQL Server Developer Edition 的虛擬機器。

Azure SQL 升級選項

您也可以考慮在升級計畫中升級 Azure SQL 資料庫、Azure SQL 受控執行個體,或將您的 SQL Server 環境虛擬化。 如需有關這些選項的詳細資訊,請參閱下列連結:

就地升級

透過此方法,SQL Server 安裝程式會以新的 SQL Server 位元取代現有的 SQL Server 位元,然後升級每個系統及使用者資料庫,藉此升級目前的 SQL Server 安裝。

就地升級方法最簡易,但需要停機一段時間,需要後援時也會花費較長時間,而且不適用於所有情況。 如需支援與未支援的就地升級案例詳細資訊,請參閱 支援的版本與版本升級

此方法通常用在下列案例中:

  • 沒有高可用性 (HA) 組態的開發環境。

  • 可容許停機時間,並執行於最新硬體及軟體的非任務關鍵性生產環境。 停機時間取決於您的資料庫大小,以及 I/O 子系統的速度。 在記憶體最佳化資料表使用中時升級 SQL Server 2014 (12.x) 會花費額外時間。 如需詳細資訊,請參閱 計劃和測試資料庫引擎升級計劃

以專家等級而言,就地升級資料庫引擎所需的步驟如下:

Diagram that shows a Database Engine Upgrade Non-HA In-Place Upgrade.

如需詳細步驟,請參閱使用安裝精靈升級 SQL Server (安裝程式)

考量

SQL Server 安裝程式會在升級前檢查期間,先停止 SQL Server 執行個體,然後再重新啟動該執行個體。

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

遷移到新的安裝

透過此方法,您可以在建置新 SQL Server 環境的同時保有目前環境,前者通常在新的硬體上,並使用新版作業系統。 在新環境中安裝 SQL Server 後,可以執行幾個步驟讓新環境就緒,以便將現有使用者資料庫從現有環境遷移到新環境,並盡可能縮短停機時間。 這些步驟包括遷移下列項目:

  • 系統物件: 某些應用程式會相依於超出單一使用者資料庫範圍之外的資訊、實體和/或物件。 一般而言,應用程式相依於 mastermsdb 資料庫,也相依於使用者資料庫。 如果有資料庫正確運作所需的任何項目儲存在使用者資料庫外部,則必須設法讓目的地伺服器執行個體也能提供。 例如,應用程式的登入在 master 資料庫中儲存為中繼資料,就必須在目的地伺服器上加以重新建立。 若應用程式或資料庫維護計劃相依於 SQL Server Agent 作業,而其中繼資料儲存於 msdb 資料庫中,則必須在目的地伺服器執行個體上,重新建立那些作業。 同樣的,伺服器層級觸發程序的中繼資料會儲存在 master中。

    當您將應用程式的資料庫移至其他伺服器執行個體時,您必須在目的地伺服器執行個體上重新建立 mastermsdb 中相依實體及物件的所有中繼資料。 例如,如果資料庫應用程式使用伺服器層級觸發程序,則僅在新系統上附加或還原資料庫,並不足夠。 除非您以手動方式為 master 資料庫中的那些觸發程序重新建立中繼資料,否則該資料庫無法如預期般運作。 如需詳細資訊,請參閱管理讓資料庫可供另一個伺服器執行個體使用的中繼資料 (SQL Server)

  • 儲存於 msdb 中的 Integration Services 套件:若將套件儲存在 msdb 中,就必須使用 dtutil 公用程式編寫那些套件的指令碼,或將其重新佈署到新的伺服器。 您必須先將該套裝升級為 SQL Server,然後才能在新的伺服器上使用該套件。 如需詳細資訊,請參閱 Upgrade Integration Services Packages

  • Reporting Services 加密金鑰: 在報表伺服器組態中,建立用於加密機密資訊的對稱金鑰備份副本是很重要的一部分。 許多例行作業都需要金鑰的備份副本,這備份副本可以讓您在新安裝中重複使用現有的報表伺服器資料庫。 如需詳細資訊,請參閱 備份與還原 Reporting Services 加密金鑰 以及 Upgrade 以及 Migrate Reporting Services

一旦新的 SQL Server 環境擁有與現有環境相同的系統物件之後,就可以將使用者資料庫從現有系統遷移到 SQL Server 執行個體,在某種程度上能將現有系統的停機時間降至最低。 您可以使用備份與還原完成資料庫遷移,若您處於 SAN 環境中,也可以藉由重新指出 LUN 來完成。 下圖說明這兩種方法的步驟。

警告

停機時間取決於您的資料庫大小,以及 I/O 子系統的速度。 在記憶體最佳化資料表使用中時升級 SQL Server 2014 (12.x) 將會花費額外時間。 如需詳細資訊,請參閱 計劃和測試資料庫引擎升級計劃

遷移使用者資料庫之後,可以使用多種方法 (例如,重新命名伺服器、使用 DNS 登錄及修改連接字串) 中的一種,將新的使用者指向新的 SQL Server 執行個體。 與就地升級相較之下,新的安裝方法可減少風險及停機時間,並有助於硬體及作業系統升級與 SQL Server 的更新。

注意

若您已有高可用性 (HA) 解決方案或其他多個 SQL Server 執行個體環境,請進行輪流升級。 若尚未有任何高可用性解決方案,則可以考慮暫時設定資料庫鏡像,進一步縮短停機時間以加速升級,或利用此機會設定 AlwaysOn 可用性群組,作為永久性的 HA 解決方案。

例如,您可以使用此方法來升級:

  • 不受支援之作業系統上的 SQL Server 安裝。
  • SQL Server 的 x86 (32-bit) 安裝(因為 SQL Server 2016 (13.x) 和更新版本不支援 x86 安裝)。
  • 新硬體和 (或) 新版作業系統的 SQL Server。
  • 與伺服器彙總的 SQL Server。
  • SQL Server 2005 (9.x)(因為 SQL Server 2016 (13.x) 和更新版本不支援 SQL Server 2005 (9.x)的就地升級)。 如需詳細資訊,請參閱是否從舊版 SQL Server 升級

新安裝升級的必要步驟會依據您使用連接儲存體還是 SAN 儲存體而有些微不同。

  • 連接儲存裝置環境:若您的 SQL Server 環境使用連接儲存裝置,下圖及圖中連結可引導您完成資料庫引擎全新安裝升級的必要步驟。

    Diagram that shows a new installation upgrade method using backup and restore for attached storage.

  • SAN 儲存裝置環境:若您的 SQL Server 環境使用 SAN 儲存裝置,下圖及圖中連結可引導您完成資料庫引擎全新安裝升級的必要步驟。

    Diagram that shows a new installation upgrade method using detach and attach for SAN storage.

輪流升級

當 SQL Server 解決方案環境涉及必須以特定順序升級多個 SQL Server 執行個體時,便需要輪流升級,以盡可能地維持在最佳的執行時間、最小的風險,並保留功能。 輪流升級基本上是依特定順序升級多個 SQL Server 執行個體。 您可以對每個現有的 SQL Server 執行個體進行就地升級,或是進行新的安裝升級,以便在升級的過程中,一併升級硬體和 (或) 作業系統。 在許多情況下中,您都需要使用輪流升級方法。 下列文章記載這些案例: