複寫結構描述變更
適用於:SQL Server Azure 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>。
若要停用結構描述變更的複寫
在 [發行集屬性 - <發行集>] 對話方塊的 [訂閱選項] 頁面上,將 [複寫結構描述變更] 屬性的值設定為 [False]。
選取 [確定]。
若只要傳播特定的結構描述變更,請在結構描述變更之前將屬性設定為 [True] ,然後在進行變更後將屬性設定為 [False] 。 相反的,若要傳播大多數結構描述變更,而不是給定變更,請在結構描述變更之前將屬性設定為 [False] ,然後在進行變更後將屬性設定為 [True] 。
使用 TRANSACT-SQL
您可以使用複寫預存程序來指定是否要複寫這些結構描述變更。 您使用的預存程序取決於發行集的類型而定。
建立不會複寫結構描述變更的快照式或交易式發行集
- 在發行集資料庫的發行者端,執行 sp_addpublication (Transact-SQL),並針對
@replicate_ddl
指定值0
。 如需詳細資訊,請參閱建立發行集。
建立不會複寫結構描述變更的合併式發行集
- 在發行集資料庫的發行者端,執行 sp_addmergepublication (Transact-SQL),並針對
@replicate_ddl
指定值0
。 如需詳細資訊,請參閱建立發行集。
暫時停用快照式或交易式發行集的複寫結構描述變更
如果是具有複寫結構描述變更的發行集,請執行 sp_changepublication (Transact-SQL),並針對
@property
指定replicate_ddl
的值,並針對@value
指定值0
。在發行的物件上執行 DDL 命令。
(選擇性) 重新啟用複寫結構描述變更,其方式是執行 sp_changepublication (Transact-SQL),並針對
@property
指定replicate_ddl
的值,並針對@value
指定值1
。
暫時停用合併式發行集的複寫結構描述變更
如果是具有複寫結構描述變更的發行集,請執行 sp_changemergepublication (Transact-SQL),並針對
@property
指定replicate_ddl
的值,並針對@value
指定值0
。在發行的物件上執行 DDL 命令。
(選擇性) 重新啟用複寫結構描述變更,其方式是執行 sp_changemergepublication (Transact-SQL),並針對
@property
指定replicate_ddl
的值,並針對@value
指定值1
。