sp_helpmergepublication (Transact-SQL)

更新: 2006 年 12 月 12 日

傳回有關合併式發行集的資訊。這個預存程序執行於發行集資料庫的發行者端。

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

語法

sp_helpmergepublication [ [ @publication= ] 'publication']
    [ , [ @found= ] 'found'OUTPUT]
    [ , [ @publication_id= ] 'publication_id' OUTPUT]
    [ , [ @reserved= ] 'reserved' ]
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]

引數

  • [ @publication=] 'publication'
    這是發行集的名稱。publicationsysname,預設值是 %,它會傳回目前資料庫中所有合併式發行集的相關資訊。
  • [ @found=] 'found' OUTPUT
    這是指示傳回資料列的旗標。foundint 和一個 OUTPUT 參數,預設值是 NULL。1 表示找到發行集。0 表示找不到發行集。
  • [ @publication_id=] 'publication_id' OUTPUT
    這是發行集識別碼。publication_iduniqueidentifier 和一個 OUTPUT 參數,預設值是 NULL。
  • [ @reserved=] 'reserved'
    保留供日後使用。reservednvarchar(20),預設值是 NULL。
  • [ @publisher = ] 'publisher'
    這是發行者的名稱。publishersysname,預設值是 NULL。
  • [@publisher_db = ] 'publisher_db'
    這是發行集資料庫的名稱。publisher_dbsysname,預設值是 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 站台中,供訂閱者以後擷取它們。

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

這個參數可以是 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 表示將同步處理最佳化,只有已變更的資料分割中之資料列的訂閱者會受到影響。

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

依預設,合併式發行集會使用預先計算的資料分割,以取得高於這個選項的最佳化程度。如需詳細資訊,請參閱<參數化資料列篩選>和<使用預先計算的資料分割最佳化參數化篩選效能>。

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)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 新增有關 generation_leveling_threshold 資料行的資訊。