升級 Microsoft SQL Server 資料庫引擎 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

升級 Microsoft SQL Server 資料庫引擎

當 Amazon RDS 支援新版本的資料庫引擎時,您可以將資料庫執行個體升級為新版本。SQL Server 資料庫執行個體有兩種升級︰主要版本升級和次要版本升級。

主要版本升級 可能包含與現有應用程式回溯不相容的資料庫變更。因此,您必須手動執行資料庫執行個體的主要版本升級。您可以修改資料庫執行個體,啟動主要版本升級。然而,在您執行主要的版本升級之前,建議您遵循測試升級中描述的步驟來測試升級。

反之,次要版本升級 只包含與現有應用程式回溯相容的變更。您可以修改資料庫執行個體,手動啟動次要版本升級。

在下列範例中,CLI 命令會傳回 AutoUpgrade 顯示為 true 的回應,指出升級為自動。

... "ValidUpgradeTarget": [ { "Engine": "sqlserver-se", "EngineVersion": "14.00.3281.6.v1", "Description": "SQL Server 2017 14.00.3281.6.v1", "AutoUpgrade": true, "IsMajorVersionUpgrade": false } ...

如需執行升級的詳細資訊,請參閱升級 SQL Server 資料庫執行個體。如需 Amazon RDS 上提供的 SQL Server 版本相關資訊,請參閱 Amazon RDS for Microsoft SQL Server

升級概觀

Amazon RDS 在升級程序中會建立兩個資料庫快照。第一個資料庫快照是完成任何升級變更之前的資料庫執行個體。升級完成後會建立第二個資料庫快照。

注意

只在您將資料庫執行個體的備份保留期設為大於 0 的數字時,Amazon RDS 才會建立資料庫快照。若要變更備份保留期,請參閱修改 Amazon RDS 資料庫執行個體

升級完成之後,您就無法回復至前一版的資料庫引擎。若您想要恢復前一版本,請從升級前建立的資料庫快照進行還原,以建立新的資料庫執行個體。

在 SQL Server 的次要或主要版本升級期間,Free Storage Space (可用儲存空間)Disk Queue Depth (磁碟佇列深度) 指標會顯示 -1。升級完成後,兩個指標都會恢復正常。

主要版本升級

Amazon RDS 目前支援透過以下的主要版本升級升級為 Microsoft SQL Server 資料庫執行個體。

除了 SQL Server 2008 之外,您可以將任意版本的現有資料庫執行個體升級至 SQL Server 2017 或 2019。若要升級 SQL Server 2008 的資料庫執行個體,請先將其升級為其他版本。

目前版本 支援的升級版本

SQL Server 2019

SQL 伺服器

SQL Server 2017

SQL 伺服器

SQL Server 2019

SQL Server 2016

SQL 伺服器

SQL Server 2019

SQL Server 2017

SQL Server 2014

SQL 伺服器

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2012 (支援終止)

SQL 伺服器

SQL Server 2019

SQL Server 2017

SQL Server 2016

SQL Server 2014

SQL Server 2008 R2 (支援終止)

SQL Server 2016

SQL Server 2014

SQL Server 2012

您可以使用 AWS CLI 查詢 (例如下列範例) 來尋找特定資料庫引擎版本的可用升級。

對於LinuxmacOS、或Unix:

aws rds describe-db-engine-versions \ --engine sqlserver-se \ --engine-version 14.00.3281.6.v1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \ --output table

在 Windows 中:

aws rds describe-db-engine-versions ^ --engine sqlserver-se ^ --engine-version 14.00.3281.6.v1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^ --output table

輸出顯示您可以將 14.00.3281.6 版本升級至最新可用的 SQL Server 2017 或 2019 版本。

-------------------------- |DescribeDBEngineVersions| +------------------------+ | EngineVersion | +------------------------+ | 14.00.3294.2.v1 | | 14.00.3356.20.v1 | | 14.00.3381.3.v1 | | 14.00.3401.7.v1 | | 14.00.3421.10.v1 | | 14.00.3451.2.v1 | | 15.00.4043.16.v1 | | 15.00.4073.23.v1 | | 15.00.4153.1.v1 | | 15.00.4198.2.v1 | | 15.00.4236.7.v1 | +------------------------+

資料庫相容性等級

您可以使用 Microsoft SQL Server 資料庫相容性等級來調整某些資料庫行為,以模仿舊版的 SQL Server。如需詳細資訊,請參閱 Microsoft 文件中的相容性等級

升級資料庫執行個體時,所有現有的資料庫都會保持其原來的相容性等級。例如,如果從 SQL Server 2014 升級到 SQL Server 2016,則所有現有資料庫的相容性等級均為 120。升級後建立的任何新資料庫都具有相容性等級 130。

您可以使用 ALTER DATABASE 命令來變更資料庫的相容性等級。例如,若要將名為 customeracct 的資料庫變更為與 SQL Server 2014 相容,可使用以下命令:

ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 120

多可用區域和記憶體內最佳化的考量

Amazon RDS 會透過使用 SQL Server Database Mirroring (DBM) 或 Always On 可用性群組 (AG),支援在執行 Microsoft SQL Server 的資料庫執行個體上進行異地同步備份部署。如需更多詳細資訊,請參閱 Amazon RDS for Microsoft SQL Server 的異地同步備份部署

如果資料庫執行個體位於異地同步備份部署中,則主要和待命執行個體都會升級。Amazon RDS 會進行滾動式升級。只有在容錯轉移期間才會停機。

SQL Server 2014 到 2019 Enterprise Edition 支援記憶體內最佳化。

僅供讀取複本考量

在資料庫版本升級期間,Amazon RDS 也會升級所有僅供讀取複本以及主要資料庫執行個體。Amazon RDS 不支援個別僅供讀取複本上的資料庫版本升級。如需僅供讀取複本的詳細資訊,請參閱 使用 Amazon RDS 中的 Microsoft SQL Server 的僅供讀取複本

升級主要資料庫執行個體的資料庫版本時,也會自動升級所有僅供讀取複本。Amazon RDS 在升級主要資料庫執行個體之前,會先同時升級所有僅供讀取複本。在主要資料庫執行個體上的資料庫版本升級完成之前,僅供讀取複本可能無法使用。

選項群組考量

如果您的資料庫執行個體使用自訂資料庫選項群組,在某些狀況下,Amazon RDS 無法自動為資料庫執行個體指派新的選項群組。例如,升級至新的主要版本時,您必須指定新的選項群組。建議您建立新的選項群組,並在其中新增和現有自訂選項群組中相同的選項。

如需詳細資訊,請參閱「建立選項群組」或「刪除選項群組」。

參數群組考量

若您的資料庫執行個體使用自訂的資料庫參數群組:

  • Amazon RDS 會在升級後自動重新啟動資料庫執行個體。

  • 在某些狀況下,RDS 無法將新的參數群組自動指派至您的資料庫執行個體。

    例如,升級至新的主要版本時,您必須指定新的參數群組。建議您建立新的參數群組,並在其中設定和現有自訂參數群組中相同的參數。

如需詳細資訊,請參閱「建立資料庫參數群組」或「複製資料庫參數群組」。

測試升級

對資料庫執行個體進行主要版本升級之前,請完整測試資料庫,以及會存取該資料庫的所有應用程式,了解是否與新版本相容。建議您採用下列程序。

測試主要版本升級
  1. 針對新版本的資料庫引擎,檢閱 Microsoft 文件中的升級 SQL Server,了解是否有可能影響資料庫或應用程式的相容性問題。

  2. 如果您的資料庫執行個體使用自訂選項群組,請建立與升級後新版本相容的新選項群組。如需更多詳細資訊,請參閱 選項群組考量

  3. 如果您的資料庫執行個體使用自訂參數群組,請建立與升級後新版本相容的新參數群組。如需更多詳細資訊,請參閱 參數群組考量

  4. 針對要升級的資料庫執行個體建立資料庫快照。如需詳細資訊,請參閱 為單一可用區資料庫執行個體建立資料庫快照

  5. 還原資料庫快照,以建立新的測試資料庫執行個體。如需更多詳細資訊,請參閱 從資料庫 快照還原

  6. 使用下列其中一種方法,修改這個新的測試資料庫執行個體,以升級到新版本:

  7. 評估升級的執行個體所使用的儲存體,以決定升級是否需要更多儲存體。

  8. 對升級的資料庫執行個體儘可能進行越多次品質保證測試,以確保資料庫和應用程式搭配新版本可以正常運作。實作任何必要的新測試,以評估您在步驟 1 發現的任何相容性問題所帶來的影響。測試所有預存程序和函數。將應用程式的測試版本指向升級的資料庫執行個體。

  9. 如果通過所有測試,就可以對生產資料庫執行個體進行升級。在確認一切都沒問題之前,建議您在資料庫執行個體上不要允許寫入操作。

升級 SQL Server 資料庫執行個體

如需有關手動或自動升級 SQL Server 資料庫執行個體的資訊,請參閱以下內容:

重要

如果您有任何使用加密的快照 AWS KMS,建議您在支援結束前啟動升級。

在支援結束之前升級已取代的資料庫執行個體

主要版本已取代後,您無法將其安裝在新資料庫執行個體上。RDS 將嘗試自動升級所有現有資料庫執行個體。

如果您需要還原已淘汰的資料庫執行個體,可以執行 point-in-time 復原 (PITR) 或還原快照。這可讓您暫時存取使用已廢除版本的資料庫執行個體。但是,在主要版本完全作廢後,這些資料庫執行個體也將同時自動升級到支援的版本。