

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

# SQL Server 升級考量
<a name="USER_UpgradeDBInstance.SQLServer.Considerations"></a>

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

**注意**  
只在您將資料庫執行個體的備份保留期設為大於 0 的數字時，Amazon RDS 才會建立資料庫快照。若要變更備份保留期，請參閱[修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

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

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

升級 SQL Server 執行個體前，請先檢閱下列資訊。

**Topics**
+ [起始升級前的最佳實務](#USER_UpgradeDBInstance.SQLServer.BestPractices)
+ [異地同步備份考量](#USER_UpgradeDBInstance.SQLServer.MAZ)
+ [僅供讀取複本考量](#USER_UpgradeDBInstance.SQLServer.readreplica)
+ [選項群組考量](#USER_UpgradeDBInstance.SQLServer.OGPG.OG)
+ [參數群組考量](#USER_UpgradeDBInstance.SQLServer.OGPG.PG)

## 起始升級前的最佳實務
<a name="USER_UpgradeDBInstance.SQLServer.BestPractices"></a>

開始進行升級程序前，請先實作下列準備步驟，以達成最佳升級效能，並盡可能減少潛在問題：

時間和工作負載管理  
+ 將升級排程在低交易量期間。
+ 盡可能減少升級時段期間的寫入操作。
這樣可以減少 RDS 在「主要-次要」配對期間所需還原的交易日誌備份檔案數量，而讓 Amazon RDS 更快完成升級。

交易管理  
+ 識別和監控長時間執行的交易。
+ 開始升級之前，請確定所有重要交易都已提交。
+ 避免升級時段期間的長時間執行交易。

日誌檔案最佳化  
檢閱和最佳化交易日誌檔案：  
+ 縮減過大的日誌檔案。
+ 減少高日誌耗用模式。
+ 管理虛擬日誌檔案 (VLF)。
+ 維持足夠的可用空間供一般操作使用。

## 異地同步備份考量
<a name="USER_UpgradeDBInstance.SQLServer.MAZ"></a>

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

在多可用區域部署 (鏡像/AlwaysOn) 中，RDS 在應要求升級時，將會遵循主要和次要執行個體的滾動升級策略。滾動升級可確保在次要執行個體升級時，至少有一個執行個體可供交易使用。中斷應該只會在容錯移轉期間發生。

在升級期間，RDS 會從多可用區域組態中移除次要執行個體、執行次要執行個體的升級，以及從主要執行個體還原在中斷連線期間進行的任何交易日誌備份。所有日誌備份都還原後，RDS 會將升級的次要執行個體加入主要執行個體。當所有資料庫都處於同步狀態時，RDS 會容錯移轉至升級的次要執行個體。容錯移轉完成後，RDS 會繼續升級舊的主要執行個體、還原任何交易日誌備份，並將其與新的主要執行個體配對。

為了盡可能縮短此容錯移轉持續時間，建議您在使用的用戶端程式庫支援連接字串中的 `MultiSubnetFailover` 連線選項時，使用 AlwaysOn AG 可用性群組接聽程式端點。使用可用性群組接聽程式端點時，容錯移轉時間通常少於 10 秒，不過，此持續時間不包含任何額外的損毀復原時間。

## 僅供讀取複本考量
<a name="USER_UpgradeDBInstance.SQLServer.readreplica"></a>

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

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

## 選項群組考量
<a name="USER_UpgradeDBInstance.SQLServer.OGPG.OG"></a>

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

如需詳細資訊，請參閱「[建立選項群組](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create)」或「[刪除選項群組](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy)」。

## 參數群組考量
<a name="USER_UpgradeDBInstance.SQLServer.OGPG.PG"></a>

若您的資料庫執行個體使用自訂的資料庫參數群組：
+ Amazon RDS 會在升級後自動重新啟動資料庫執行個體。
+ 在某些狀況下，RDS 無法將新的參數群組自動指派至您的資料庫執行個體。

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

如需詳細資訊，請參閱「[在 Amazon RDS 中建立資料庫參數群組](USER_WorkingWithParamGroups.Creating.md)」或「[在 Amazon RDS 中複製資料庫參數群組](USER_WorkingWithParamGroups.Copying.md)」。