sp_helpmergesubscription (Transact-SQL)
將訂閱的相關資訊傳回合併式發行集,發送和提取訂閱都包括在內。這個預存程序執行於發行集資料庫的發行者端,或訂閱資料庫的重新發行訂閱者端。
語法
sp_helpmergesubscription [ [ @publication=] 'publication']
[ , [ @subscriber=] 'subscriber']
[ , [ @subscriber_db=] 'subscriber_db']
[ , [ @publisher=] 'publisher']
[ , [ @publisher_db=] 'publisher_db']
[ , [ @subscription_type=] 'subscription_type']
[ , [ @found=] 'found' OUTPUT]
引數
[@publication=] 'publication'
這是發行集的名稱。publication 是 sysname,預設值是 %。發行集必須已存在,且符合識別碼的規則。如果是 NULL 或 %,就會傳回目前資料庫中所有合併式發行集和訂閱的相關資訊。[@subscriber=] 'subscriber'
這是訂閱者的名稱。subscriber 是 sysname,預設值是 %。如果是 NULL 或 %,就會傳回給定發行集之所有訂閱的相關資訊。[@subscriber_db=] 'subscriber_db'
這是訂閱資料庫的名稱。subscriber_db 是 sysname,預設值是 %,傳回所有訂閱資料庫的相關資訊。[@publisher=] 'publisher'
這是發行者的名稱。發行者必須是有效伺服器。publisher 是 sysname,預設值是 %,傳回所有發行者的相關資訊。[@publisher_db=] 'publisher_db'
這是發行者資料庫的名稱。publisher_db 是 sysname,預設值是 %,傳回所有發行者資料庫的相關資訊。[@subscription_type=] 'subscription_type'
這是訂閱的類型。subscription_type 是 nvarchar(15),它可以是下列值之一。值
描述
push (預設值)
發送訂閱
pull
提取訂閱
both
發送訂閱和提取訂閱
[@found=] 'found'OUTPUT
這是指示傳回資料列的旗標。found 是 int 和一個 OUTPUT 參數,預設值是 NULL。1 表示找到發行集。0 表示找不到發行集。
結果集
資料行名稱 |
資料類型 |
描述 |
---|---|---|
subscription_name |
sysname |
訂閱的名稱。 |
publication |
sysname |
發行集的名稱。 |
publisher |
sysname |
發行者的名稱。 |
publisher_db |
sysname |
發行者資料庫的名稱。 |
subscriber |
sysname |
訂閱者的名稱。 |
subscriber_db |
sysname |
訂閱資料庫的名稱。 |
status |
int |
訂閱的狀態: 0 = 所有作業都在等待啟動 1 = 一或多項作業都在啟動中 2 = 所有作業都已執行成功 3 = 至少有一項作業在執行中 4 = 所有作業都已排程且閒置 5 = 在上一次失敗之後,至少試圖執行一項作業 6 = 至少有一項作業執行失敗 |
subscriber_type |
int |
訂閱者的類型。 |
subscription_type |
int |
訂閱的類型: 0 = 發送 1 = 提取 2 = 兩者 |
priority |
float(8) |
表示訂閱優先權的數字。 |
sync_type |
tinyint |
訂閱同步處理類型。 |
description |
nvarchar(255) |
這項合併訂閱的簡要描述。 |
merge_jobid |
binary(16) |
合併代理程式的作業識別碼。 |
full_publication |
tinyint |
這是指訂閱完整或篩選發行集。 |
offload_enabled |
bit |
指定是否已將複寫代理程式的卸載執行設成執行於訂閱者端。如果是 NULL,就是執行於發行者端。 |
offload_server |
sysname |
執行代理程式的伺服器名稱。 |
use_interactive_resolver |
int |
傳回是否在重新調整期間使用互動式解析程式。如果是 0,就是未使用互動式解析程式。 |
hostname |
sysname |
當利用 HOST_NAME 函數的值來篩選訂閱時,所提供的值。 |
subscriber_security_mode |
smallint |
這是在訂閱者端的安全性模式,1 表示 Windows 驗證,0 表示 Microsoft SQL Server 驗證。 |
subscriber_login |
sysname |
這是在訂閱者端的登入名稱。 |
subscriber_password |
sysname |
永遠不傳回實際的訂閱者密碼。結果會有 "******" 字串標示。 |
傳回碼值
0 (成功) 或 1 (失敗)
備註
合併式複寫利用 sp_helpmergesubscription 來傳回儲存在發行者端或重新發行的訂閱者端之訂閱資訊。
如果是匿名訂閱,subscription_type 值一律是 1 (提取)。不過,您必須在訂閱者端執行 sp_helpmergepullsubscription,以取得匿名訂閱的相關資訊。
權限
只有系統管理員 (sysadmin) 固定伺服器角色、db_owner 固定資料庫角色,或訂閱所屬發行集之發行集存取清單的成員,才能夠執行 sp_helpmergesubscription。