共用方式為


指定發行項類型 (複寫 Transact-SQL 程式設計)

適用於:SQL Server

複寫的預設發行項類型為資料表發行項,但是您可以將其他資料庫物件發行為發行項,包括檢視、預存程序、使用者定義函數及預存程序執行。 您可以使用複寫預存程序,於定義發行項時以程式設計方式指定發行項類型。 使用哪些預存程序取決於複寫的類型和發行項類型而定。

注意

在定義資料表、檢視和預存程序發行項時的僅限結構描述指定會指示,只會複寫物件定義。

在交易式或快照式發行集中發行資料表發行項

  1. 在發行集資料庫的發行者上,執行 sp_addarticle。 針對 @type 指定下列其中一個值,以定義發行項的類型:

    • logbased - 記錄式資料表發行項,這是交易式和快照式複寫的預設值。 複寫會自動產生用於水平篩選的預存程序以及定義垂直篩選之發行項的檢視。

    • logbased manualfilter - 水平篩選的記錄式發行項,其中用於水平篩選的預存程序是由使用者手動建立及定義,且是針對 @filter 所指定。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter

    • logbased manualview - 垂直篩選的記錄式發行項,其中用於定義垂直篩選之發行項的檢視是由使用者建立及定義,且是針對 @sync_object 所指定。 如需相關資訊,請參閱 Define and Modify a Static Row FilterDefine and Modify a Column Filter

    • logbased manualboth - 水平和垂直篩選的記錄式發行項,其中用於水平篩選的預存程序及定義垂直篩選之發行項的檢視是由使用者所建立及定義,且是分別針對 @filter@sync_object 所指定。 如需相關資訊,請參閱 Define and Modify a Static Row FilterDefine and Modify a Column Filter

    這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項

  2. 針對 logbased manualbothlogbased manualfilter 發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter

  3. 針對 logbased manualbothlogbased manualviewlogbased manualfilter 發行項,請執行 sp_articleview 來產生定義垂直篩選之發行項的檢視。 如需詳細資訊,請參閱 Define and Modify a Column Filter

在交易式或快照式發行集中發行檢視或索引檢視發行項

  1. 在發行集資料庫的發行者上,執行 sp_addarticle。 針對 @type 指定下列其中一個值,以定義發行項的類型:

    • indexed view logbased - 記錄式索引檢視發行項。 複寫會自動產生用於水平篩選的預存程序以及定義垂直篩選之發行項的檢視。

    • view schema only - 僅限結構描述的檢視發行項。 也必須要複寫基底資料表。

    • indexed view schema only - 僅限結構描述的索引檢視發行項。 也必須要複寫基底資料表。

    • indexed view logbased manualfilter - 水平篩選的記錄式索引檢視發行項,其中用於水平篩選的預存程序是由使用者手動建立及定義,且是針對 @filter 所指定。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter

    • indexed view logbased manualview - 篩選的記錄式索引檢視發行項,其中用於定義垂直篩選之發行項的檢視是由使用者建立及定義,且是針對 @sync_object 所指定。 如需相關資訊,請參閱 Define and Modify a Static Row FilterDefine and Modify a Column Filter

    • indexed view logbased manualboth - 篩選的記錄式索引檢視發行項,其中用於水平篩選的預存程序及定義垂直篩選之發行項的檢視是由使用者所建立及定義,且是分別針對 @filter@sync_object 所指定。 如需相關資訊,請參閱 Define and Modify a Static Row FilterDefine and Modify a Column Filter

    這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項

  2. 如果是 logbased manualbothlogbased manualfilter 發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter

  3. 如果是 logbased manualbothlogbased manualviewlogbased manualfilter 發行項,請執行 sp_articleview 來產生用於定義垂直篩選之發行項的檢視。 如需詳細資訊,請參閱 Define and Modify a Column Filter

在交易式或快照式發行集中發行預存程序、預存程序執行或使用者定義函數發行項

  1. 在發行集資料庫的發行者上,執行 sp_addarticle。 針對 @type 指定下列其中一個值,以定義發行項的類型:

    這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項

在合併式發行集中發行資料表或檢視發行項

  1. 在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對 @type 指定下列其中一個值,以定義發行項的類型:

    • table - 資料表發行項。

    • indexed view schema only - 僅限結構描述的索引檢視發行項。

    • view schema only - 僅限結構描述的檢視發行項。

    這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項

在合併式發行集中發行預存程序或使用者定義函數發行項

  1. 在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對 @type 指定下列其中一個值,以定義發行項的類型:

    • func schema only - 僅限結構描述的使用者定義函數發行項。

    • proc schema only - 僅限結構描述的預存程序發行項。

    這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項

另請參閱

Replication System Stored Procedures Concepts
發行資料和資料庫物件