sp_helppublication (Transact-SQL)
傳回有關發行集的資訊。對於 Microsoft SQL Server 發行集,這個預存程序執行於發行集資料庫中的發行者端。如果是 Oracle 發行集,這個預存程序執行於任何資料庫中的散發者端。
語法
sp_helppublication [ [ @publication = ] 'publication' ]
[ , [ @found=] found OUTPUT]
[ , [ @publisher = ] 'publisher' ]
引數
- [ @publication = ] 'publication'
這是要檢視的發行集名稱。publication 是 sysname,預設值是 %,這會傳回有關所有發行集的資訊。
- [ @found = ] 'found' OUTPUT
這是表示傳回資料列的旗標。found是 int 和 OUTPUT 參數,預設值是 23456。1 表示找到發行集。0 表示找不到發行集。
[ @publisher = ] 'publisher'
指定非 SQL Server 發行者。publisher 是 sysname,預設值是 NULL。附註:
當要求 SQL Server 發行者的發行集資訊時,不應指定 publisher。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱
資料類型
描述
pubid
int
發行集的識別碼。
name
sysname
發行集的名稱。
restricted
int
保留供日後使用。
status
tinyint
發行集的目前狀態。
0 = 非使用中。
1 = 使用中。
task
使用這個項目的目的,是為了與舊版相容。
replication frequency
tinyint
複寫頻率的類型:
0 = 交易式
1 = 快照式
synchronization method
tinyint
同步模式:
0 = 原生大量複製程式 (bcp 公用程式)
1 = 字元大量複製
3 = Concurrent,表示使用原生大量複製 (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
binary(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 檔案位置的指標。在訂閱者端套用快照集時,散發代理程式會在執行任何複寫的物件指令碼之前,先執行前快照集 (pre-snapshot) 指令碼。
post_snapshot_script
nvarchar(255)
指定 .sql 檔案位置的指標。在初始同步處理期間,散發代理程式會先套用所有其他複寫的物件指令碼和資料,然後才執行後快照集 (post-snapshot) 指令碼。
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 = 發行者在衝突中獲勝。
2 = 訂閱者在衝突中獲勝。
3 = 重新初始化訂閱。
queue_type
指定所用的佇列類型。它可以是下列值之一:
msmq = 利用 Microsoft Message Queuing 來儲存交易。
sql = 利用 SQL Server 來儲存交易。
附註:
已不再支援使用 Message Queuing。
backward_comp_level
資料庫相容性層級,它可以是下列項目之一:
10 = Microsoft SQL Server 7.0
20 = SQL Server 7.0 Service Pack 1
30 = SQL Server 7.0 Service Pack 2
35 = SQL Server 7.0 Service Pack 3
40 = Microsoft SQL Server 2000
50 = SQL Server 2000 Service Pack 1
60 = SQL Server 2000 Service Pack 3
90 = Microsoft SQL Server 2005
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 訂閱者。如需詳細資訊,請參閱<非 SQL Server 訂閱者>。
備註
sp_helppublication 用於快照式和交易式複寫中。
sp_helppublication 會傳回執行這個程序之使用者所擁有的所有發行集資訊。
權限
只有發行者端的系統管理員 (sysadmin) 固定伺服器角色成員、發行集資料庫的 db_owner 固定資料庫角色成員,或發行集存取清單 (PAL) 中的使用者,才能夠執行 sp_helppublication。
如果是非 SQL Server 發行者,只有散發者端的系統管理員 (sysadmin) 固定伺服器角色成員、散發資料庫的 db_owner 固定資料庫角色成員,或 PAL 中的使用者,才能夠執行 sp_helppublication。
範例
DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran'
USE [AdventureWorks]
EXEC sp_helppublication @publication = @myTranPub
GO
請參閱
參考
sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_droppublication (Transact-SQL)
複寫預存程序 (Transact-SQL)
其他資源
How to: View and Modify Publication Properties (Replication Transact-SQL Programming)