指定發行項類型 (複寫 Transact-SQL 程式設計)
適用於:SQL Server
複寫的預設發行項類型為資料表發行項,但是您可以將其他資料庫物件發行為發行項,包括檢視、預存程序、使用者定義函數及預存程序執行。 您可以使用複寫預存程序,於定義發行項時以程式設計方式指定發行項類型。 使用哪些預存程序取決於複寫的類型和發行項類型而定。
注意
在定義資料表、檢視和預存程序發行項時的僅限結構描述指定會指示,只會複寫物件定義。
在交易式或快照式發行集中發行資料表發行項
在發行集資料庫的發行者上,執行 sp_addarticle。 針對
@type
指定下列其中一個值,以定義發行項的類型:logbased
- 記錄式資料表發行項,這是交易式和快照式複寫的預設值。 複寫會自動產生用於水平篩選的預存程序以及定義垂直篩選之發行項的檢視。logbased manualfilter
- 水平篩選的記錄式發行項,其中用於水平篩選的預存程序是由使用者手動建立及定義,且是針對@filter
所指定。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter。logbased manualview
- 垂直篩選的記錄式發行項,其中用於定義垂直篩選之發行項的檢視是由使用者建立及定義,且是針對@sync_object
所指定。 如需相關資訊,請參閱 Define and Modify a Static Row Filter 及 Define and Modify a Column Filter。logbased manualboth
- 水平和垂直篩選的記錄式發行項,其中用於水平篩選的預存程序及定義垂直篩選之發行項的檢視是由使用者所建立及定義,且是分別針對@filter
及@sync_object
所指定。 如需相關資訊,請參閱 Define and Modify a Static Row Filter 及 Define and Modify a Column Filter。
這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項。
針對
logbased manualboth
和logbased manualfilter
發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter。針對
logbased manualboth
、logbased manualview
和logbased manualfilter
發行項,請執行 sp_articleview 來產生定義垂直篩選之發行項的檢視。 如需詳細資訊,請參閱 Define and Modify a Column Filter。
在交易式或快照式發行集中發行檢視或索引檢視發行項
在發行集資料庫的發行者上,執行 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 Filter 及 Define and Modify a Column Filter。indexed view logbased manualboth - 篩選的記錄式索引檢視發行項,其中用於水平篩選的預存程序及定義垂直篩選之發行項的檢視是由使用者所建立及定義,且是分別針對
@filter
及@sync_object
所指定。 如需相關資訊,請參閱 Define and Modify a Static Row Filter 及 Define and Modify a Column Filter。
這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項。
如果是 logbased manualboth 和 logbased manualfilter 發行項,請執行 sp_articlefilter 來產生用於水平篩選之發行項的篩選預存程序。 如需詳細資訊,請參閱 Define and Modify a Static Row Filter。
如果是 logbased manualboth、 logbased manualview和 logbased manualfilter 發行項,請執行 sp_articleview 來產生用於定義垂直篩選之發行項的檢視。 如需詳細資訊,請參閱 Define and Modify a Column Filter。
在交易式或快照式發行集中發行預存程序、預存程序執行或使用者定義函數發行項
在發行集資料庫的發行者上,執行 sp_addarticle。 針對
@type
指定下列其中一個值,以定義發行項的類型:proc schema only - 僅限結構描述的預存程序發行項。
proc exec - 將預存程序的執行複寫到發行項的所有訂閱者。 如需詳細資訊,請參閱 Publishing Stored Procedure Execution in Transactional Replication。
serializable proc exec - 只有當預存程序執行於可序列化交易的環境內時,才複寫預存程序的執行。 如需詳細資訊,請參閱 Publishing Stored Procedure Execution in Transactional Replication。
func schema only - 僅限結構描述的使用者定義函數發行項。
這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項。
在合併式發行集中發行資料表或檢視發行項
在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對
@type
指定下列其中一個值,以定義發行項的類型:table - 資料表發行項。
indexed view schema only - 僅限結構描述的索引檢視發行項。
view schema only - 僅限結構描述的檢視發行項。
這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項。
在合併式發行集中發行預存程序或使用者定義函數發行項
在發行集資料庫的發行者上,執行 sp_addmergearticle。 針對
@type
指定下列其中一個值,以定義發行項的類型:func schema only - 僅限結構描述的使用者定義函數發行項。
proc schema only - 僅限結構描述的預存程序發行項。
這樣會為發行集定義新的發行項。 如需詳細資訊,請參閱 定義發行項。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應