本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
升級 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 無法將新的參數群組自動指派至您的資料庫執行個體。
例如,升級至新的主要版本時,您必須指定新的參數群組。建議您建立新的參數群組,並在其中設定和現有自訂參數群組中相同的參數。
如需詳細資訊,請參閱「建立資料庫參數群組」或「複製資料庫參數群組」。
測試升級
對資料庫執行個體進行主要版本升級之前,請完整測試資料庫,以及會存取該資料庫的所有應用程式,了解是否與新版本相容。建議您採用下列程序。
測試主要版本升級
-
針對新版本的資料庫引擎,檢閱 Microsoft 文件中的升級 SQL Server
,了解是否有可能影響資料庫或應用程式的相容性問題。 -
如果您的資料庫執行個體使用自訂選項群組,請建立與升級後新版本相容的新選項群組。如需更多詳細資訊,請參閱 選項群組考量。
-
如果您的資料庫執行個體使用自訂參數群組,請建立與升級後新版本相容的新參數群組。如需更多詳細資訊,請參閱 參數群組考量。
-
針對要升級的資料庫執行個體建立資料庫快照。如需詳細資訊,請參閱 為單一可用區資料庫執行個體建立資料庫快照。
-
還原資料庫快照,以建立新的測試資料庫執行個體。如需更多詳細資訊,請參閱 從資料庫 快照還原。
-
使用下列其中一種方法,修改這個新的測試資料庫執行個體,以升級到新版本:
-
評估升級的執行個體所使用的儲存體,以決定升級是否需要更多儲存體。
-
對升級的資料庫執行個體儘可能進行越多次品質保證測試,以確保資料庫和應用程式搭配新版本可以正常運作。實作任何必要的新測試,以評估您在步驟 1 發現的任何相容性問題所帶來的影響。測試所有預存程序和函數。將應用程式的測試版本指向升級的資料庫執行個體。
-
如果通過所有測試,就可以對生產資料庫執行個體進行升級。在確認一切都沒問題之前,建議您在資料庫執行個體上不要允許寫入操作。
升級 SQL Server 資料庫執行個體
如需有關手動或自動升級 SQL Server 資料庫執行個體的資訊,請參閱以下內容:
重要
如果您有任何使用加密的快照 AWS KMS,建議您在支援結束前啟動升級。
在支援結束之前升級已取代的資料庫執行個體
主要版本已取代後,您無法將其安裝在新資料庫執行個體上。RDS 將嘗試自動升級所有現有資料庫執行個體。
如果您需要還原已淘汰的資料庫執行個體,可以執行 point-in-time 復原 (PITR) 或還原快照。這可讓您暫時存取使用已廢除版本的資料庫執行個體。但是,在主要版本完全作廢後,這些資料庫執行個體也將同時自動升級到支援的版本。