複寫結構描述變更

適用於:SQL ServerAzure SQL 受控執行個體

本主題說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中複寫結構描述變更。

如果您要針對發佈的發行項進行下列結構描述變更,則這些變更預設會傳播到 Microsoft SQL Server 訂閱者:

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

本主題內容

開始之前

限制事項

  • ALTER TABLE ...DROP COLUMN 陳述式一定會複寫至訂閱包含要卸除之資料行的所有「訂閱者」,即使您停用結構描述變更的複寫也是如此。

使用 SQL Server Management Studio

如果您不想複寫發行集的結構描述變更,請在 [發行集屬性 - <發行集>] 對話方塊中停用結構描述變更的複寫。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。

若要停用結構描述變更的複寫

  1. 在 [發行集屬性 - <發行集>] 對話方塊的 [訂閱選項] 頁面上,將 [複寫結構描述變更] 屬性的值設定為 [False]。

  2. 選取 [確定]。

    若只要傳播特定的結構描述變更,請在結構描述變更之前將屬性設定為 [True] ,然後在進行變更後將屬性設定為 [False] 。 相反的,若要傳播大多數結構描述變更,而不是給定變更,請在結構描述變更之前將屬性設定為 [False] ,然後在進行變更後將屬性設定為 [True]

使用 TRANSACT-SQL

您可以使用複寫預存程序來指定是否要複寫這些結構描述變更。 您使用的預存程序取決於發行集的類型而定。

建立不會複寫結構描述變更的快照式或交易式發行集

  1. 在發行集資料庫的發行者端,執行 sp_addpublication (Transact-SQL),並針對 @replicate_ddl 指定值 0。 如需詳細資訊,請參閱建立發行集

建立不會複寫結構描述變更的合併式發行集

  1. 在發行集資料庫的發行者端,執行 sp_addmergepublication (Transact-SQL),並針對 @replicate_ddl 指定值 0。 如需詳細資訊,請參閱建立發行集

暫時停用快照式或交易式發行集的複寫結構描述變更

  1. 如果是具有複寫結構描述變更的發行集,請執行 sp_changepublication (Transact-SQL),並針對 @property 指定 replicate_ddl 的值,並針對 @value 指定值 0

  2. 在發行的物件上執行 DDL 命令。

  3. (選擇性) 重新啟用複寫結構描述變更,其方式是執行 sp_changepublication (Transact-SQL),並針對 @property 指定 replicate_ddl 的值,並針對 @value 指定值 1

暫時停用合併式發行集的複寫結構描述變更

  1. 如果是具有複寫結構描述變更的發行集,請執行 sp_changemergepublication (Transact-SQL),並針對 @property 指定 replicate_ddl 的值,並針對 @value 指定值 0

  2. 在發行的物件上執行 DDL 命令。

  3. (選擇性) 重新啟用複寫結構描述變更,其方式是執行 sp_changemergepublication (Transact-SQL),並針對 @property 指定 replicate_ddl 的值,並針對 @value 指定值 1

另請參閱

對發行集資料庫進行結構描述變更
對發行集資料庫進行結構描述變更