如何:複寫結構描述變更 (複寫 Transact-SQL 程式設計)
如果您想要針對發行的發行項進行以下的結構描述變更,這些變更預設會傳播到 Microsoft SQL Server 訂閱者:
ALTER TABLE
ALTER VIEW
ALTER PROCEDURE
ALTER FUNCTION
ALTER TRIGGER
您可以使用複寫預存程序來指定是否要複寫這些結構描述變更。 您使用的預存程序取決於發行集的類型而定。
[!附註]
ALTER TABLE DROP COLUMN 一定會複寫到資料分割中包含卸除之資料行的所有訂閱中,不論 @replicate_ddl 參數的值為何。
建立不會複寫結構描述變更的快照式或交易式發行集
- 在發行集資料庫的發行者上執行 sp_addpublication (Transact-SQL),針對 @replicate_ddl 指定 0 的值。 如需詳細資訊,請參閱<如何:建立發行集 (複寫 Transact-SQL 程式設計)>。
建立不會複寫結構描述變更的合併式發行集
- 在發行集資料庫的發行者上執行 sp_addmergepublication (Transact-SQL),針對 @replicate_ddl 指定 0 的值。 如需詳細資訊,請參閱<如何:建立發行集 (複寫 Transact-SQL 程式設計)>。
暫時停用快照式或交易式發行集的複寫結構描述變更
如果是具有複寫結構描述變更的發行集,請執行 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 的值。