共用方式為


sp_helppublication (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

傳回發行集的相關信息。 對於 SQL Server 發行集,這個預存程式會在發行集資料庫的發行者端執行。 針對 Oracle 發行集,此預存程式會在任何資料庫的散發者端執行。

Transact-SQL 語法慣例

語法

sp_helppublication_snapshot
    [ @publication = ] N'publication'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引數

[ @publication = ] N'publication'

要檢視之發行集的名稱。 @publication是 sysname,預設值%為 ,它會傳回所有發行集的相關信息。

[ @publisher = ] N'publisher'

指定非 SQL Server 發行者。 @publisher為 sysname,預設值為 NULL

注意

從 SQL Server 發行者要求發行集資訊時,不應該指定 publisher

結果集

資料行名稱 資料類型 描述
pubid int 發行集的標識碼。
name sysname 發行集的名稱。
restricted int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
status tinyint 發行集的目前狀態。

0 = 非使用中。
1 = 作用中。
task 用於回溯相容性。
replication frequency tinyint 複寫頻率的類型:

0 = 交易式
1 = 快照集
synchronization method tinyint 同步處理模式:

0 = 原生大量複製程式 (bcp 公用程式)
1 = 字元大量複製
3 = 並行,這表示會使用原生大量複製 (bcp 公用程式),但在快照集期間不會鎖定數據表
4 = Concurrent_c,這表示使用字元大量複製,但在快照集期間不會鎖定數據表
description nvarchar(255) 發行集的選擇性描述。
immediate_sync bit 指定每次執行 快照集代理程式 時,都會建立或重新建立同步處理檔案。
enabled_for_internet bit 指定發行集的同步處理檔案是否透過檔案傳輸通訊協定 (FTP) 和其他服務向因特網公開。
allow_push bit 指定發行集上是否允許發送訂閱。
allow_pull bit 指定發行集上是否允許提取訂閱。
allow_anonymous bit 指定發行集上是否允許匿名訂閱。
independent_agent bit 指定此出版物是否有獨立 散發代理程式。
immediate_sync_ready bit 指定 快照集代理程式 是否產生可供新訂閱使用的快照集。 只有當發行集設定為永遠有快照集可供新的或重新初始化的訂閱使用時,才會定義此參數。
allow_sync_tran bit 指定發行集是否允許立即更新訂閱。
autogen_sync_procs bit 指定是否要自動產生預存程式以支援立即更新訂閱。
snapshot_jobid 二進位(16) 排程的工作識別碼。
retention int 要儲存給指定出版物的變更量,以小時為單位。
has subscription bit 指定發行集是否具有作用中的訂閱。 1 表示發行集具有作用中的訂閱,表示 0 發行集沒有訂閱。
allow_queued_tran bit 指定是否停用訂閱者端的變更佇列,直到可以在發行者端套用變更為止。 如果 0為 ,則訂閱者端的變更不會排入佇列。
snapshot_in_defaultfolder bit 指定快照集檔案是否儲存在預設資料夾中。 如果0為 ,快照集檔案會儲存在alternate_snapshot_folder指定的替代位置。 如果 1為 ,則可以在預設資料夾中找到快照集檔案。
alt_snapshot_folder nvarchar(255) 指定快照集替代資料夾的位置。
pre_snapshot_script nvarchar(255) 指定檔案位置的 .sql 指標。 散發代理程式 會在訂閱者端套用快照集時,先執行預先快照集腳本,再執行任何復寫的物件腳本。
post_snapshot_script nvarchar(255) 指定檔案位置的 .sql 指標。 散發代理程式 會在初始同步處理期間套用所有其他複寫的物件腳本和數據之後,執行快照集後腳本。
compress_snapshot bit 指定寫入alt_snapshot_folder位置的快照集會壓縮成Microsoft CAB 格式。 0 指定快照集未壓縮。
ftp_address sysname 散發者 FTP 服務的網路位址。 指定發行集快照集檔案的位置,供訂閱者 散發代理程式 或 合併代理程式 挑選。
ftp_port int 散發者的 FTP 服務埠號碼。
ftp_subdirectory nvarchar(255) 指定當發行集支援使用 FTP 傳播快照集時,散發代理程式 或 合併代理程式 訂閱者可挑選快照集檔案的位置。
ftp_login sysname 用來連線到 FTP 服務的用戶名稱。
allow_dts bit 指定發行集允許數據轉換。 0 指定不允許 DTS 轉換。
allow_subscription_copy bit 指定是否啟用複製訂閱此發行集的訂閱資料庫的能力。 0 表示不允許複製。
centralized_conflicts bit 指定衝突記錄是否儲存在發行者上:

0 = 衝突記錄會同時儲存在發行者和造成衝突的訂閱者端。
1 = 衝突記錄會儲存在發行者端。
conflict_retention int 指定以天為單位的衝突保留期間。
conflict_policy int 指定使用佇列更新訂閱者選項時所遵循的衝突解決原則。 可以是下列值之一:

1 = Publisher 會贏得衝突。
2 = 訂閱者贏得衝突。
3 = 重新初始化訂閱。
queue_type 指定使用哪種類型的佇列。 可以是下列值之一:

msmq = 使用Microsoft消息佇列來儲存交易。
sql = 使用 SQL Server 來儲存交易。
注意: 已停止消息佇列的支援。
backward_comp_level 資料庫相容性層級,而且可以是下列其中一個值:

90 = SQL Server 2005 (9.x)
100 = Microsoft SQL Server 2008 (10.0.x)
publish_to_AD bit 指定發行集是否在 Microsoft Active Directory 中發行。 的值 1 表示它已發行,而的值 0 表示它未發佈。
allow_initialize_from_backup bit 指出訂閱者是否可以從備份初始化這個發行集的訂閱,而不是初始快照集。 1 表示訂閱可以從備份初始化,表示 0 訂閱無法初始化。 如需詳細資訊,請參閱 在沒有快照 集的情況下初始化交易式訂閱,而不使用快照集的交易式訂閱者。
replicate_ddl int 指出發行集是否支援架構複寫。 1 表示在發行者端執行的數據定義語言 (DDL) 語句會復寫,並 0 指出不會復寫 DDL 語句。 如需詳細資訊,請參閱對發行集資料庫進行結構描述變更
enabled_for_p2p int 指定發行集是否可以在點對點複寫拓撲中使用。 1 表示發行集支援點對點複寫。 如需詳細資訊,請參閱 點對點 - 事務複製
publish_local_changes_only int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
enabled_for_het_sub int 指定發行集是否支援非 SQL Server 訂閱者。 的值 1 表示支援非 SQL Server 訂閱者。 的值 0 表示只支援 SQL Server 訂閱者。 如需詳細資訊,請參閱 Non-SQL Server Subscribers
enabled_for_p2p_conflictdetection int 指定 散發代理程式 是否偵測針對點對點複寫啟用之發行集的衝突。 的值 1 表示偵測到衝突。 如需詳細資訊,請參閱 點對點複寫中的點對點 - 衝突偵測。
originator_id int 針對點對點拓撲中的節點指定識別碼。 如果 enabled_for_p2p_conflictdetection 設定 1為 ,此標識符會用於衝突偵測。 如需已使用的識別碼清單,請查詢 MSpeer_originatorid_history 系統數據表。
p2p_continue_onconflict int 指定偵測到衝突時,散發代理程式 是否繼續處理變更。 的值 1 表示代理程式會繼續處理變更。

注意: 我們建議您使用 的預設值 0。 當此選項設定為 1時,散發代理程式 會從節點套用衝突數據列,以嘗試聚合拓撲中的數據,而該節點是最高的原始程式識別碼。 此方法不保證聚合。 您應該確定拓撲在偵測到衝突之後是一致的。 如需詳細資訊,請參閱點對點複寫中的 「處理衝突」- 點對點複寫中的衝突偵測。
allow_partition_switch int 指定是否可以 ALTER TABLE...SWITCH 對已發佈的資料庫執行語句。 如需詳細資訊,請參閱複寫資料分割資料表及索引
replicate_partition_switch int 指定是否 ALTER TABLE...SWITCH 應該將針對已發行資料庫的語句複寫至訂閱者。 只有在 設定為 1allow_partition_switch,此選項才有效。
enabled_for_p2p_lastwriter_conflictdetection int 指定 散發代理程式 是否偵測到針對點對點複寫啟用之發行集的設定最後寫入器衝突偵測和解決衝突。 的值 1 表示偵測到最後一個寫入器衝突。

適用於: SQL Server 2019 (15.x) CU 13 和更新版本。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_helppublication 用於快照式和事務複製。

sp_helppublication 會傳回執行此程式之使用者所擁有的所有發行集資訊。

範例

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2022]
EXEC sp_helppublication @publication = @myTranPub
GO

權限

只有發行者端 sysadmin 固定伺服器角色的成員,或發行集資料庫上db_owner固定資料庫角色的成員,或是發行集存取清單 (PAL) 中的使用者,才能執行 sp_helppublication

對於非 SQL Server 發行者,只有散發者端 sysadmin 固定伺服器角色的成員,或散發資料庫或 PAL 中使用者db_owner固定資料庫角色的成員可以執行 sp_helppublication