複寫結構描述變更
本主題描述如何使用 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>] 對話方塊中停用結構描述變更的複寫。 如需有關存取這個對話方塊的詳細資訊,請參閱<檢視及修改發行集屬性>。
若要停用結構描述變更的複寫
在 [發行集屬性 - <Publication>] 對話方塊的 [訂閱選項] 頁面上,將 [複寫結構描述變更] 屬性的值設定為 [False]。
按一下 [確定]。
若只要傳播特定的結構描述變更,請在結構描述變更之前將屬性設定為 [True],然後在進行變更後將屬性設定為 [False]。 相反的,若要傳播大多數結構描述變更,而不是給定變更,請在結構描述變更之前將屬性設定為 [False],然後在進行變更後將屬性設定為 [True]。
[Top]
使用 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 的值。
[Top]