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

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

[!附註]

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

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

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

    這樣會為發行集定義新的發行項。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。

  2. 如果是 logbased manualbothlogbased manualfilter 發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。如需詳細資訊,請參閱<如何:定義及修改靜態資料列篩選 (複寫 Transact-SQL 程式設計)>。

  3. 如果是 logbased manualbothlogbased manualviewlogbased manualfilter 發行項,請執行 sp_articleview 來產生用於定義垂直篩選之發行項的檢視。如需詳細資訊,請參閱<如何:定義及修改資料行篩選 (複寫 Transact-SQL 程式設計)>。

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

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

    這樣會為發行集定義新的發行項。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。

  2. 如果是 logbased manualbothlogbased manualfilter 發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。如需詳細資訊,請參閱<如何:定義及修改靜態資料列篩選 (複寫 Transact-SQL 程式設計)>。

  3. 如果是 logbased manualbothlogbased manualviewlogbased manualfilter 發行項,請執行 sp_articleview 來產生用於定義垂直篩選之發行項的檢視。如需詳細資訊,請參閱<如何:定義及修改資料行篩選 (複寫 Transact-SQL 程式設計)>。

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

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

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

    • table - 資料表發行項。

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

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

    這樣會為發行集定義新的發行項。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。

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

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

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

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

    這樣會為發行集定義新的發行項。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。