sp_helpmergepublication (Transact-SQL)
更新: 2006 年 12 月 12 日
傳回有關合併式發行集的資訊。這個預存程序執行於發行集資料庫的發行者端。
語法
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。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱
資料類型
描述
id
int
結果集清單中的發行集循序排列順序。
name
sysname
發行集的名稱。
description
nvarchar(255)
發行集的描述。
status
tinyint
發行集資料的可用時機。
retention
int
給定發行集的變更儲存量 (以天為單位)。
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 = 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_activedirectory
bit
指定發行集資訊是否在 Microsoft Active Directory 中發行。0 表示無法從 Active Directory 中取得發行集資訊。
這個參數已被取代,支援它的目的,只是為了與舊版的指令碼相容。您不能再將發行集資訊加入 Microsoft 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 表示將刪除動作傳給訂閱者。
0 表示不傳送刪除動作。如需詳細資訊,請參閱<sp_addmergepublication>。
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 = 在自動重新初始化之前,不上載變更。
備註
sp_helpmergepublication 用於合併式複寫中。
權限
發行集的發行集存取清單成員可以執行這個發行集的 sp_helpmergepublication。發行集資料庫的 db_owner 固定資料庫角色成員能夠執行 sp_helpmergepublication,以取得所有發行集的相關資訊。
範例
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks]
EXEC sp_helpmergepublication @publication = @publication;
GO
請參閱
參考
sp_addmergepublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL)
複寫預存程序 (Transact-SQL)
其他資源
How to: View and Modify Publication Properties (Replication Transact-SQL Programming)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|