Share via


sp_changemergefilter (Transact-SQL)

變更部分合併篩選屬性。 這個預存程序執行於發行集資料庫的發行者端。

主題連結圖示 Transact-SQL 語法慣例

語法

sp_changemergefilter [ @publication= ] 'publication' 
        , [ @article= ] 'article' 
        , [ @filtername= ] 'filtername' 
        , [ @property= ] 'property' 
        , [ @value= ] 'value'
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

引數

  • [ @publication= ] 'publication'
    這是發行集的名稱。 publication 是 sysname,沒有預設值。

  • [ @article= ] 'article'
    這是發行項的名稱。 article 是 sysname,沒有預設值。

  • [ @filtername= ] 'filtername'
    這是目前篩選的名稱。 filtername 是 sysname,沒有預設值。

  • [ @property= ] 'property'
    這是要變更的屬性名稱。 property 是 sysname,沒有預設值。

  • [ @value=] 'value'
    這是指定屬性的新值。 value 是 nvarchar(1000),沒有預設值。

    下表描述發行項的屬性及這些屬性的值。

    屬性

    說明

    filter_type

    1

    聯結篩選。

    支援 SQL Server Compact 訂閱者需要這個選項。

     

    2

    邏輯記錄關聯性。

     

    3

    聯結篩選也是一項邏輯記錄關聯性。

    filtername

     

    篩選的名稱。

    join_articlename

     

    聯結發行項的名稱。

    join_filterclause

     

    篩選子句。

    join_unique_key

    true

    聯結作用於唯一索引鍵

     

    false

    聯結不作用於唯一索引鍵

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    認可這個預存程序所採取的動作可能使現有的快照集失效。 force_invalidate_snapshot 是 bit,預設值是 0

    0 指定合併發行項的變更不會使快照集失效。 如果預存程序偵測到變更需要新的快照集,就會發生錯誤,且不會進行任何變更。

    1 表示合併發行項的變更可能使快照集失效,如果有現有的訂閱需要新的快照集,便提供要標示為已棄用之現有快照集的權限,此時會產生新的快照集。

  • [ @force_reinit_subscription = ] force_reinit_subscription
    認可這個預存程序所採取的動作可能需要重新初始化現有的訂閱。 force_reinit_subscription 是 bit,預設值是 0

    0 指定合併發行項的變更不會使訂閱重新初始化。 如果預存程序偵測到變更需要重新初始化現有的訂閱,就會發生錯誤,且不會進行任何變更。

    1 表示合併發行項的變更會使現有的訂閱重新初始化,且會提供將發生之訂閱重新初始化的權限。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_changemergefilter 用於合併式複寫中。

如果快照集存在的話,變更合併發行項的篩選需要重新建立快照集。 您可以將 @force_invalidate_snapshot 設為 1 來執行這個動作。 另外,如果有這個發行項的訂閱,也必須重新初始化訂閱。 這是藉由將 @force_reinit_subscription 設為 1 來完成。

若要使用邏輯記錄,發行集和發行項必須符合許多需求。 如需詳細資訊,請參閱<使用邏輯記錄分組相關資料列的變更>。

權限

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_changemergefilter

請參閱

參考

sp_addmergefilter (Transact-SQL)

sp_dropmergefilter (Transact-SQL)

sp_helpmergefilter (Transact-SQL)

系統預存程序 (Transact-SQL)

概念

變更發行集與發行項屬性