sp_helpmergepublication (Transact-SQL)
適用於:SQL Server
傳回合並式發行集的相關信息。 這個預存程式會在發行集資料庫的發行者端執行。
語法
sp_helpmergepublication
[ [ @publication = ] N'publication' ]
[ , [ @found = ] found OUTPUT ]
[ , [ @publication_id = ] 'publication_id' OUTPUT ]
[ , [ @reserved = ] N'reserved' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]
引數
[ @publication = ] N'publication'
發行集的名稱。 @publication是 sysname,預設值%
為 ,它會傳回目前資料庫中所有合併式發行集的相關信息。
[ @found = ] 找到 OUTPUT
表示傳回數據列的旗標。 @found是 int 類型的 OUTPUT 參數。
1
表示找到發行集。0
表示找不到發行集。
[ @publication_id = ] 'publication_id' OUTPUT
發行集標識碼。 @publication_id是 uniqueidentifier 類型的 OUTPUT 參數。
[ @reserved = ] N'reserved'
僅供參考之用。 不支援。 我們無法保證未來的相容性。
[ @publisher = ] N'publisher'
發行者的名稱。 @publisher為 sysname,預設值為 NULL
。
[ @publisher_db = ] N'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 |
二進位(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 指定的替代位置。 替代位置可以位於另一部伺服器、網路驅動器機或卸載式媒體上(例如卸載式磁碟)。 您也可以將快照集檔案儲存至 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 | 資料庫相容性層級,而且可以是下列其中一個值:90 = SQL Server 2005 (9.x)90 = SQL Server 2005 (9.x) SP190 = SQL Server 2005 (9.x) SP2100 = SQL Server 2008 (10.0.x) |
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 = day1 = week2 = 月3 = year |
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 [AdventureWorks2022]
EXEC sp_helpmergepublication @publication = @publication;
GO