sp_helppublication (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
傳回發行集的相關信息。 對於 SQL Server 發行集,這個預存程式會在發行集資料庫的發行者端執行。 針對 Oracle 發行集,此預存程式會在任何資料庫的散發者端執行。
語法
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 應該將針對已發行資料庫的語句複寫至訂閱者。 只有在 設定為 1 時allow_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
。