

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

# 交易式複寫
<a name="trans-rep"></a>

交易複寫是一種 SQL Server 技術，用於複寫兩個資料庫之間的變更。這些變更可能包括資料庫物件，例如資料表 （需要主索引鍵）、預存程序、檢視等，以及資料。複寫程序涉及*發佈者* （發佈資料的主要資料庫）、*訂閱者* （接收複寫資料的次要資料庫） 和*經銷商* （存放中繼資料和交易以進行交易複寫的伺服器）。您可以在 Amazon EC2 和 Amazon RDS for SQL Server 資料庫執行個體上使用 SQL Server 的交易複寫。

交易複寫會建立現場部署 （發佈） 資料庫中物件和資料的快照，並將其傳送至訂閱者資料庫。將快照套用至訂閱者之後，在發佈者進行的所有後續資料變更和結構描述修改都會在發生時傳送給訂閱者。然後，資料變更會以發佈者發生的相同順序持續套用至訂閱者。

同步完成後，您會對目標 SQL Server 資料庫執行個體執行驗證。當兩個資料庫同步時，您可以停止現場部署資料庫上的活動，確保複寫已完成，然後執行目標 SQL Server 資料庫執行個體的切換。然後，您可以停止推送訂閱、將其刪除，並開始使用 Amazon RDS for SQL Server。

訂閱者資料庫也可以用作唯讀資料庫。記錄同步任務的經銷商建議位於不同的伺服器上。如果您的目標資料庫位於 Amazon RDS for SQL Server，您可以設定推送訂閱，將變更傳播給訂閱者。

當您想要執行下列動作時，建議您使用交易複寫：
+ 將您的資料一次性遷移至 Amazon RDS 或 Amazon EC2。
+ 將結構描述層級或資料表層級物件遷移至 AWS。
+ 將資料庫的一部分遷移至 AWS。
+ 透過新增其他訂閱者，使用現有的 SQL Server 複寫策略，以最短的停機時間進行遷移。

如果您打算使用交易複寫將資料一次性遷移到 Amazon RDS for SQL Server，我們建議您設定複寫的單一可用區組態。複寫程序完成後，您可以將環境轉換為多可用區域架構，以獲得高可用性。

下圖顯示 Amazon RDS 和 Amazon EC2 上資料庫的交易複寫程序。

 ![\[SQL Server migration process with transactional replication\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/migration-sql-server/images/sql-migration-transactional-replication.png) 

如需交易複寫的詳細資訊，請參閱 AWS 資料庫部落格上的 [Microsoft SQL Server 文件](https://docs.microsoft.com/en-us/sql/relational-databases/replication/transactional/transactional-replication)和文章[如何使用交易複寫遷移至 Amazon RDS for SQL Server](https://aws.amazon.com/blogs/database/how-to-migrate-to-amazon-rds-for-sql-server-using-transactional-replication/)。