如何:指定結構描述選項 (複寫 Transact-SQL 程式設計)

當您發行資料表或檢視表時,複寫可讓您針對發行物件控制所要複寫的物件建立選項。當使用複寫預存程序建立發行項時,可以透過程式設計的方式設定結構描述選項。之後也可以變更這些選項。如果您不明確針對發行項指定這些選項,將會定義一組預設選項。

[!附註]

使用複寫預存程序時的預設結構描述選項,可能會與使用 Microsoft SQL Server Management Studio 加入發行項時的預設選項不同。

結構描述選項會指定為十六進位值,這個值是一或多個選項的 | (Bitwise OR) 結果。如需詳細資訊,請參閱<sp_addarticle>和<sp_addmergearticle>。

[!附註]

在執行位元運算之前,您必須將結構描述選項值從 binary 轉換成 int。如需詳細資訊,請參閱<Article Options for Transactional Replication>。

在針對快照式或交易式發行集定義發行項時,指定結構描述選項

  • 在發行集資料庫的發行者上,執行 sp_addarticle。針對 **@publication** 指定發行項所屬的發行集名稱、針對 **@article** 指定發行項名稱、針對 **@source_object** 指定發行的資料庫物件、針對 **@type** 指定資料庫物件的類型,並針對 **@schema_option** 指定一或多個結構描述選項的 | (Bitwise OR) 結果。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。

在針對合併式發行集定義發行項時,指定結構描述選項

針對快照式或交易式發行集中的現有發行項變更結構描述選項

  1. 在發行集資料庫的發行者上,執行 sp_helparticle。針對 **@publication** 指定發行項所屬的發行集名稱,並針對 **@article** 指定發行項的名稱。請記下結果集中 schema_option 資料行的值。

  2. 使用步驟 1 中的值及所要的結構描述選項值來執行 & (Bitwise AND) 運算,以判斷是否設定此選項。

    • 如果結果是 0,表示未設定此選項。

    • 如果結果是此選項值,表示已設定此選項。

  3. 如果未設定此選項,請使用步驟 1 中的值及所要的結構描述選項值來執行 | (Bitwise OR) 運算。

  4. 在發行集資料庫的發行者上,執行 sp_changearticle。針對 **@publication** 指定發行項所屬的發行集名稱、針對 **@article** 指定發行項名稱、針對 **@property** 指定 schema_option 的值,並針對 **@value** 指定步驟 3 中的十六進位結果。

  5. 執行快照集代理程式來產生新的快照集。如需詳細資訊,請參閱<如何:建立初始快照集 (複寫 Transact-SQL 程式設計)>。

變更合併發行中現有文章的結構描述選項

  1. 對發行集資料庫的發行者執行 sp_helpmergearticle。針對 **@publication** 指定發行項所屬的發行集名稱,並針對 **@article** 指定發行項的名稱。請記下結果集中 schema_option 資料行的值。

  2. 使用步驟 1 中的值及所要的結構描述選項值來執行 & (Bitwise AND) 運算,以判斷是否設定此選項。

    • 如果結果是 0,表示未設定此選項。

    • 如果結果是此選項值,表示已設定此選項。

  3. 如果未設定此選項,請使用步驟 1 中的值及所要的結構描述選項值來執行 | (Bitwise OR) 運算。

  4. 在發行集資料庫的發行者上,執行 sp_changemergearticle。針對 **@publication** 指定發行項所屬的發行集名稱、針對 **@article** 指定發行項名稱、針對 **@property** 指定 schema_option 的值,並針對 **@value** 指定步驟 3 中的十六進位結果。

  5. 執行快照集代理程式來產生新的快照集。如需詳細資訊,請參閱<如何:建立初始快照集 (複寫 Transact-SQL 程式設計)>。