sp_helpmergepublication (Transact-SQL)

適用於:SQL Server

傳回合並式發行集的相關資訊。 這個預存程式會在發行集資料庫的發行者端執行。

Transact-SQL 語法慣例

語法

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 指定的替代位置。 替代位置可以位於另一部伺服器、網路磁碟機機或卸載式媒體上(例如 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 資料庫相容性層級,而且可以是下列其中一個值:

90 = SQL Server 2005 (9.x)

90 = SQL Server 2005 (9.x) SP1

90 = SQL Server 2005 (9.x) SP2

100 = 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 = day

1 = week

2 = 月

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