sp_helpmergepublication (Transact-SQL)
傳回有關合併式發行集的資訊。這個預存程序會在發行集資料庫的發行者端執行。
語法
sp_helpmergepublication [ [ @publication = ] 'publication' ]
[ , [ @found = ] 'found' OUTPUT ]
[ , [ @publication_id = ] 'publication_id' OUTPUT ]
[ , [ @reserved = ] 'reserved' ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
引數
[ @publication = ] 'publication'
這是發行集的名稱。publication 是 sysname,預設值是 %,可傳回目前資料庫中所有合併式發行集的相關資訊。[ @found = ] 'found' OUTPUT
這是指示傳回資料列的旗標。found 是 int 和一個 OUTPUT 參數,預設值是 NULL。1 表示找到發行集,0 表示找不到發行集。[ @publication_id**=**\] **'**publication_id' OUTPUT
這是發行集識別碼。publication_id 是 uniqueidentifier 和一個 OUTPUT 參數,預設值是 NULL。[ @reserved**=**\] 'reserved'
僅供參考之用。不支援。我們無法保證未來的相容性。 reserved 是 nvarchar(20),預設值是 NULL。[ @publisher**=** ] 'publisher'
這是發行者的名稱。publisher 是 sysname,預設值為 NULL。[@publisher_db = ] 'publisher_db'
這是發行集資料庫的名稱。publisher_db 是 sysname,預設值是 NULL。
結果集
資料行名稱 |
資料類型 |
描述 |
---|---|---|
id |
int |
結果集清單中的發行集循序排列順序。 |
name |
sysname |
發行集的名稱。 |
description |
nvarchar(255) |
發行集的描述。 |
status |
tinyint |
指示發行集資料的可用時機。 |
retention |
int |
儲存發行集中的發行項變更相關中繼資料時,所需的時間。這段時間的單位可以是天、週、月或年。如需有關單位的資訊,請參閱 retention_period_unit 欄。 |
sync_mode |
tinyint |
這個發行集的同步處理模式: 0 = 原生大量複製程式 (bcp 公用程式) 1 = 字元大量複製 |
allow_push |
int |
判斷是否可以針對給定發行集建立發送訂閱。0 表示不允許發送訂閱。 |
allow_pull |
int |
判斷是否可以針對給定發行集建立提取訂閱。0 表示不允許提取訂閱。 |
allow_anonymous |
int |
判斷是否可以針對給定發行集建立匿名訂閱。0 表示不允許匿名訂閱。 |
centralized_conflicts |
int |
判斷是否將衝突記錄儲存在給定的發行者上: 0 = 將衝突記錄同時儲存在發行者端和造成衝突的訂閱者端。 1 = 所有衝突記錄都儲存在發行者端。 |
priority |
float(8) |
回送訂閱的優先權。 |
snapshot_ready |
tinyint |
指示這個發行集的快照集是否已備妥: 0 = 快照集已備妥。 1 = 快照集未備妥。 |
publication_type |
int |
發行集的類型: 0 = 快照式。 1 = 交易式。 2 = 合併式。 |
pubid |
uniqueidentifier |
這個發行集的唯一識別碼。 |
snapshot_jobid |
binary(16) |
快照集代理程式的作業識別碼。若要取得 sysjobs 系統資料表中的快照集作業項目,您必須將這個十六進位值轉換成 uniqueidentifier。 |
enabled_for_internet |
int |
判斷是否啟用發行集的網際網路功能。如果是 1,發行集的同步處理檔案會放在 C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\Ftp 目錄中。使用者必須建立檔案傳輸通訊協定 (FTP) 目錄。如果是 0,便不會啟用發行集的網際網路存取功能。 |
dynamic_filter |
int |
指示是否要使用參數化資料列篩選器。0 表示不會使用參數化資料列篩選器。 |
has_subscription |
bit |
指示發行集是否有任何訂閱。0 表示這個發行集目前沒有任何訂閱。 |
snapshot_in_default_folder |
bit |
指定是否將快照集檔案儲存在預設資料夾中。 如果是 1,便可以在預設資料夾中找到快照集檔案。 如果為 0,表示快照集檔案會儲存在 alt_snapshot_folder 所指定的替代位置中。替代位置可以在另一部伺服器、網路磁碟機或抽取式媒體 (如 CD-ROM 或抽取式磁碟) 中。另外,您也可以將快照集檔案儲存在 FTP 站台中,供訂閱者以後擷取它們。
附註
這個參數可以是 true,且在 alt_snapshot_folder 參數中仍有位置。這個組合會指定將快照集檔案同時儲存在預設位置和替代位置中。
|
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 格式。 |
ftp_address |
sysname |
這是散發者之 FTP 服務的網路位址。指定發行集快照集檔案所在的位置,以便合併代理程式能夠加以收取。 |
ftp_port |
int |
這是散發者之 FTP 服務的通訊埠編號。ftp_port 的預設值為 21。指定發行集快照集檔案所在的位置,以便合併代理程式能夠加以收取。 |
ftp_subdirectory |
nvarchar(255) |
指定當利用 FTP 來傳遞快照集時,合併代理程式能夠從中收取快照集檔案的位置。 |
ftp_login |
sysname |
這是用於連接到 FTP 服務的使用者名稱。 |
conflict_retention |
int |
指定衝突的保留期限 (以天為單位)。過了指定天數之後,便從衝突資料表中清除衝突資料列。 |
keep_partition_changes |
int |
指定這個發行集是否進行最佳化的同步處理。keep_partition_changes 的預設值是 0。 0 的值表示同步處理未最佳化,而且當資料分割的資料有了改變時,會驗證傳給所有訂閱者的資料分割。 1 表示將同步處理最佳化,只有已變更之資料分割中之資料列的訂閱者會受到影響。
附註
依預設,合併式發行集會使用預先計算的資料分割,以取得高於這個選項的最佳化程度。如需詳細資訊,請參閱<參數化資料列篩選器>和<使用預先計算的資料分割最佳化參數化篩選效能>。
|
allow_subscription_copy |
int |
指定是否已啟用複製訂閱這個發行集之訂閱資料庫的能力。0 的值表示不允許複製。 |
allow_synctoalternate |
int |
指定是否允許替代的同步處理夥伴與這個發行者同步。0 的值表示不允許同步夥伴。 |
validate_subscriber_info |
nvarchar(500) |
列出用於擷取訂閱者資訊以及驗證訂閱者參數化資料列篩選器準則的函數。它可以協助您確認每項合併的資訊分割都一致。 |
backward_comp_level |
int |
資料庫相容性層級,它可以是下列項目之一: 10 = SQL Server 7.0 20 = SQL Server 7.0 SP1 30 = SQL Server 7.0 SP2 30 = SQL Server 7.0 SP3 30 = SQL Server 7.0 SP4 40 = SQL Server 2000 40 = SQL Server 2000 SP1 40 = SQL Server 2000 SP2 40 = SQL Server 2000 SP3 90 = SQL Server 2005 90 = SQL Server 2005 SP1 90 = SQL Server 2005 SP2 100 = SQL Server 2008 |
publish_to_activedirectory |
bit |
指定發行集資訊是否發行到 Active Directory。0 的值表示無法從 Active Directory 中取得發行集資訊。 這個參數已被取代,支援它的目的,只是為了與舊版的指令碼相容。您不能再將發行集資訊加入 Active Directory 中。 |
max_concurrent_merge |
int |
並行合併處理序的數目。如果為 0,表示在任何給定時間執行的並行合併處理數目都沒有限制。 |
max_concurrent_dynamic_snapshots |
int |
可以針對合併式發行集來執行的最大並行已篩選資料快照集工作階段數目。如果是 0,能夠在任何給定時間針對發行集來同時執行之最大並行已篩選資料快照集的工作階段數目,就沒有任何限則。 |
use_partition_groups |
int |
判斷是否使用預先計算的資料分割。1 的值表示使用預先計算的資料分割。 |
num_of_articles |
int |
發行集中的發行項數目。 |
replicate_ddl |
int |
是否複寫已發行的資料表之結構描述變更。1 的值表示複寫結構描述變更。 |
publication_number |
smallint |
指派給這個發行集的號碼。 |
allow_subscriber_initiated_snapshot |
bit |
判斷訂閱者是否能夠起始產生已篩選資料快照集的程序。1 的值表示訂閱者可以起始快照集處理。 |
allow_web_synchronization |
bit |
判斷是否啟用發行集的 Web 同步處理。1 的值表示啟用 Web 同步處理。 |
web_synchronization_url |
nvarchar(500) |
Web 同步處理所用的網際網路 URL。 |
allow_partition_realignment |
bit |
判斷當修改發行者的資料列造成資料分割的變更時,是否要將刪除動作傳給訂閱者。1 的值表示將刪除動作傳給訂閱者。如需詳細資訊,請參閱<sp_addmergepublication (Transact-SQL)>。 |
retention_period_unit |
tinyint |
定義保留時所使用的單位。這個值可以是下列其中一個值: 0 = 日 1 = 週 2 = 月 3 = 年 |
has_downloadonly_articles |
bit |
指出是否有任何屬於發行集的發行項是只限下載的發行項。1 的值表示有只限下載的發行項。 |
decentralized_conflicts |
int |
指出是否將衝突記錄儲存在造成衝突的訂閱者端。0 的值表示衝突記錄不會儲存在訂閱者端。1 的值表示衝突記錄會儲存在訂閱者端。 |
generation_leveling_threshold |
int |
指定某個層代中包含的變更數目。層代是指傳遞給發行者或訂閱者的變更集合。如需詳細資訊,請參閱<合併式複寫如何追蹤和列舉變更>。 |
automatic_reinitialization_policy |
bit |
指出在自動重新初始化之前,是否從訂閱者上傳變更。1 的值指出在自動重新初始化之前,是否從訂閱者上傳變更。0 的值指出在自動重新初始化之前,不會上傳變更。 |
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_helpmergepublication 用於合併式複寫中。
權限
發行集的發行集存取清單成員可以執行這個發行集的 sp_helpmergepublication。發行集資料庫的 db_owner 固定資料庫角色成員能夠執行 sp_helpmergepublication,以取得所有發行集的相關資訊。
範例
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2008R2]
EXEC sp_helpmergepublication @publication = @publication;
GO