sp_helppublication (Transact-SQL)

傳回有關發行集的資訊。對於 Microsoft SQL Server 發行集,這個預存程序執行於發行集資料庫中的發行者端。如果是 Oracle 發行集,這個預存程序執行於任何資料庫中的散發者端。

主題連結圖示Transact-SQL 語法慣例

語法

sp_helppublication [ [ @publication = ] 'publication' ]
    [ , [ @found=] found OUTPUT]
    [ , [ @publisher = ] 'publisher' ]

引數

  • [ @publication = ] 'publication'
    這是要檢視的發行集名稱。publicationsysname,預設值是 %,這會傳回有關所有發行集的資訊。
  • [ @found = ] 'found' OUTPUT
    這是表示傳回資料列的旗標。foundint 和 OUTPUT 參數,預設值是 234561 表示找到發行集。0 表示找不到發行集。
  • [ @publisher = ] 'publisher'
    指定非 SQL Server 發行者。publishersysname,預設值是 NULL。

    ms189782.note(zh-tw,SQL.90).gif附註:
    當要求 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 來儲存交易。

ms189782.note(zh-tw,SQL.90).gif附註:

已不再支援使用 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)

說明及資訊

取得 SQL Server 2005 協助