共用方式為


複寫結構描述變更

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

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

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

本主題內容

  • 開始之前:

    限制事項

  • 若要複寫結構描述變更,請使用:

    SQL Server Management Studio

    Transact-SQL

開始之前

限制事項

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

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

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

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

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

  2. 按一下 [確定]。

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

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

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

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

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

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

  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 的值。

搭配回到頁首連結使用的箭頭圖示[Top]

請參閱

概念

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

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