指定結構描述選項

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中指定結構描述選項。 當您發行資料表或檢視表時,您可以控制針對發行之物件複寫的物件建立選項。 您可以在建立發行項時設定這些選項,而且也可以在之後變更這些選項。 如果您不明確針對發行項指定這些選項,將會定義一組預設選項。

[!附註]

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

本主題內容

  • 開始之前:

    限制事項

    建議

  • 若要指定結構描述選項,請使用:

    SQL Server Management Studio

    Transact-SQL

開始之前

限制事項

  • 如果在建立發行集之後變更結構描述選項,則必須產生新的快照。

建議

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

使用 SQL Server Management Studio

[發行項屬性 - <Article>] 對話方塊的 [屬性] 標籤上指定結構描述選項,例如是否將條件約束與觸發程序複製至訂閱者。 此標籤在「新增發行集精靈」與 [發行集屬性 - <Publication>] 對話方塊中可用。 如需有關使用此精靈及存取此對話方塊的詳細資訊,請參閱<建立發行集>和<檢視及修改發行集屬性>。

若要指定結構描述選項

  1. 在「新增發行集精靈」或 [發行集屬性 - <Publication>] 對話方塊的 [發行項] 頁面中選取一個發行項,然後按一下 [發行項屬性]

  2. 選取哪些結構描述選項變更應套用至:

    • 按一下 [設定反白顯示 <ObjectType> 發行項的屬性],以啟動 [發行項屬性 - <ObjectName>] 對話方塊;在這個對話方塊中所做的屬性變更只會套用至 [發行項] 頁面上的物件窗格裡反白的物件。

    • 按一下 [設定所有 <ObjectType> 發行項的屬性],以啟動 [所有 <ObjectType> 發行項的屬性] 對話方塊;在這個對話方塊中所做的屬性變更會套用至 [發行項] 頁面上物件窗格中該類型的所有物件,包括尚未選取供發行的物件。

      [!附註]

      [所有 <ObjectType> 發行項的屬性] 對話方塊中所做的屬性變更,將會覆寫之前在 [發行項屬性 - <ObjectName>] 對話方塊中所做的所有變更。 例如,您若是要為一種物件類型的所有發行項設定許多預設值,但是也希望為個別物件設定一些屬性,請先為所有發行項設定預設值。 然後再設定所有個別物件的屬性。

  3. 請在 [發行項屬性 - <Article>] 對話方塊之 [屬性] 標籤的 [複製物件和設定到訂閱者][目的地物件] 區段中,指定選項的值。

  4. 必要時修改任何屬性,然後按一下 [確定]

  5. 如果您是在 [發行集屬性 - <Publication>] 對話方塊中,請按一下 [確定] 以儲存並關閉對話方塊。

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

使用 Transact-SQL

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

[!附註]

在執行位元運算之前,您必須將結構描述選項值從 binary 轉換成 int。 如需詳細資訊,請參閱<CAST 和 CONVERT (Transact-SQL)>。

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

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

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

  • 在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對 @publication 指定發行項所屬的發行集名稱、針對 @article 指定發行項名稱、針對 @source_object 指定發行的資料庫物件,並針對 @schema_option 指定一個或多個結構描述選項的 | (Bitwise OR) 結果。 如需詳細資訊,請參閱<定義發行項>。

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

  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. 執行快照集代理程式來產生新的快照集。 如需詳細資訊,請參閱<建立和套用初始快照集>。

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

  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. 執行快照集代理程式來產生新的快照集。 如需詳細資訊,請參閱<建立和套用初始快照集>。

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

請參閱

概念

發行資料和資料庫物件

異動複寫的發行項選項