

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

# 執行 SQL Server 切換
<a name="sqlserver-replication-switchover"></a>

*切換*是主要資料庫執行個體與僅供讀取複本之間的角色反轉。在切換期間，主要資料庫執行個體會成為複本。同時，僅供讀取複本會成為新的主要複本。

您可以執行從 RDS for SQL Server 主要資料庫執行個體到其僅供讀取複本的受管、切換型角色轉換。

開始切換之前，請確定您的複寫環境符合需求和限制。如需詳細資訊，請參閱[準備 SQL Server 切換](sqlserver-switchover.preparing.md)。

**Topics**
+ [SQL Server 切換概觀](#sqlserver-replication-switchover.overview)
+ [準備 SQL Server 切換](sqlserver-switchover.preparing.md)
+ [啟動 SQL Server 切換](sqlserver-switchover.initiating.md)
+ [監控 SQL Server 切換](sqlserver-switchover.monitoring.md)

## SQL Server 切換概觀
<a name="sqlserver-replication-switchover.overview"></a>

Amazon RDS 支援 RDS for SQL Server 僅供讀取複本的全受管、切換型角色轉換。您可以將僅供讀取複本切換為主要角色，而目前的主要資料庫執行個體會成為僅供讀取複本。當您想要將主要角色移至不同的可用區域或 時，請使用切換 AWS 區域。

僅供讀取複本可以位於相同區域的個別 AWS 區域 可用區域 (AZ) 或不同可用區域。

![顯示轉換前主要資料庫執行個體和僅供讀取複本及其轉換後反向主要和複本角色的圖表。](https://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/sqlserver-read-replica-switchover.png)


轉換與僅供讀取複本提升不同。在轉換中，來源和複本資料庫執行個體會變更角色。在提升中，僅供讀取複本會成為來源資料庫執行個體，但來源資料庫執行個體不會成為複本。提升的僅供讀取複本會與來源資料庫執行個體分離，且兩個資料庫執行個體之間的複寫關係會中斷。如需詳細資訊，請參閱[提升僅供讀取複本為獨立的資料庫執行個體](USER_ReadRepl.Promote.md)。

**Topics**
+ [SQL Server 切換的優點](#sqlserver-replication-switchover.overview.benefits)
+ [支援的 SQL Server 版本](#sqlserver-replication-switchover.overview.engine-support)
+ [SQL Server 切換的成本](#sqlserver-replication-switchover.overview.cost)
+ [SQL Server 切換的運作方式](#sqlserver-replication-switchover.overview.how-it-works)

### SQL Server 切換的優點
<a name="sqlserver-replication-switchover.overview.benefits"></a>

切換設計為零資料遺失。Amazon RDS 會將以下的容錯移轉方面自動化：
+ 反轉主要資料庫執行個體和指定僅供讀取複本的角色
+ 以唯讀模式將原始主要資料庫執行個體做為新的僅供讀取複本上線
+ 確保資料一致性
+ 轉換後維護您的複寫組態
+ 在轉換後保留每個資料庫執行個體的組態，例如備份保留、選項群組、參數群組和功能
+ 支援重複反轉，讓您的新僅供讀取複本回到其原始主要角色

### 支援的 SQL Server 版本
<a name="sqlserver-replication-switchover.overview.engine-support"></a>

Enterprise Edition (EE) 引擎上的 SQL Server 2022–2025 版支援切換。

### SQL Server 切換的成本
<a name="sqlserver-replication-switchover.overview.cost"></a>

切換功能不會產生額外費用。

### SQL Server 切換的運作方式
<a name="sqlserver-replication-switchover.overview.how-it-works"></a>

切換是全受管操作。您可以透過發出 CLI 命令 來啟動僅供讀取複本的切換`switchover-read-replica`。然後，Amazon RDS 會修改複寫組態中的主要和複本角色。

*原始複本*和*原始主要*複本是切換之前存在的角色。*新的複本*和*新的主要*複本是切換後存在的角色。

**Topics**
+ [SQL Server 切換的階段](#sqlserver-replication-switchover.overview.how-it-works.during-switchover)
+ [SQL Server 切換之後](#sqlserver-replication-switchover.overview.how-it-works.after-switchover)

#### SQL Server 切換的階段
<a name="sqlserver-replication-switchover.overview.how-it-works.during-switchover"></a>

啟動切換之前，請先停止應用程式，並中斷與主要資料庫執行個體和僅供讀取複本的所有連線。在切換期間讓應用程式停止。如需您負責的準備步驟，請參閱 [準備 SQL Server 切換](sqlserver-switchover.preparing.md)。

若要執行容錯移轉，Amazon RDS 必須採取下列步驟：

1. 在原始主要資料庫執行個體上封鎖新交易。在切換期間，原始主要資料庫執行個體無法處理寫入請求。

1. 中斷複寫組態中所有資料庫的複寫。

1. 在原始主要資料庫執行個體和原始僅供讀取複本上捨棄開放連線。

1. 將未套用的交易傳送至原始僅供讀取複本，並加以套用。

1. 在讀取/寫入模式中，將原始僅供讀取複本做為新的主要資料庫執行個體上線。

1. 在唯讀模式下，將原始主要資料庫執行個體做為新的僅供讀取複本上線。

#### SQL Server 切換之後
<a name="sqlserver-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS 會切換主要資料庫執行個體和僅供讀取複本的角色。切換完成後，請重新連接您的應用程式，並執行您需要的任何其他組態。

**Topics**
+ [成功條件](#sqlserver-replication-switchover.overview.how-it-works.after-switchover.success)
+ [連接至新的主要資料庫執行個體](#sqlserver-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [新主要資料庫執行個體的組態](#sqlserver-replication-switchover.overview.how-it-works.after-switchover.configuration)

##### 成功條件
<a name="sqlserver-replication-switchover.overview.how-it-works.after-switchover.success"></a>

當原始僅供讀取複本執行下列動作時，SQL Server 切換會成功：
+ 轉換為其做為新主要資料庫執行個體的角色
+ 完成其重新組態

為了限制停機時間，新的主要資料庫執行個體會盡快變成作用中。

##### 連接至新的主要資料庫執行個體
<a name="sqlserver-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

在切換之後，您目前的資料庫連線不會轉移到新的主要資料庫執行個體。切換完成後，請將您的應用程式重新連線至新的主要資料庫執行個體。

每個資料庫執行個體都會保留自己的端點。切換之後，原始主要資料庫執行個體的端點只接受唯讀連線。

##### 新主要資料庫執行個體的組態
<a name="sqlserver-replication-switchover.overview.how-it-works.after-switchover.configuration"></a>

角色中的變更是資料庫執行個體的唯一變更。

如果您執行切換到具有不同選項的跨區域複本，新的主要資料庫執行個體會保留自己的選項。Amazon RDS 不會將原始主要資料庫執行個體上的選項遷移至新的主要資料庫執行個體。

**注意**  
切換完成後，請檢閱新的主要資料庫執行個體，並重新設定應用程式所需的任何選項群組和參數群組。