sp_helpmergesubscription (Transact-SQL)
適用於:SQL Server
傳回合並式發行集訂閱的相關信息,包括發送和提取。 這個預存程式會在發行集資料庫的發行者端或訂閱資料庫的重新發行訂閱者端執行。
語法
sp_helpmergesubscription
[ [ @publication = ] N'publication' ]
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @subscription_type = ] N'subscription_type' ]
[ , [ @found = ] found OUTPUT ]
[ ; ]
引數
[ @publication = ] N'publication'
發行集的名稱。 @publication為 sysname,預設值為 %
。 發行集必須已經存在,且符合標識符的規則。 如果 NULL
為 或 %
,則會傳回目前資料庫中所有合併式發行集和訂閱的相關信息。
[ @subscriber = ] N'subscriber'
訂閱者的名稱。 @subscriber為 sysname,預設值為 %
。 如果 NULL
為 或 %
,則會傳回指定發行集之所有訂閱的相關信息。
[ @subscriber_db = ] N'subscriber_db'
訂閱資料庫的名稱。 @subscriber_db是 sysname,預設值%
為 ,它會傳回所有訂用帳戶資料庫的相關信息。
[ @publisher = ] N'publisher'
發行者的名稱。 @publisher是 sysname,預設值為 %
,預設值%
為 ,它會傳回所有發行者的相關信息。 發行者必須是有效的伺服器。
[ @publisher_db = ] N'publisher_db'
發行者資料庫的名稱。 @publisher_db是 sysname,預設值%
為 ,它會傳回所有 Publisher 資料庫的相關信息。
[ @subscription_type = ] N'subscription_type'
訂用帳戶的類型。 @subscription_type為 nvarchar(15),而且可以是下列其中一個值。
值 | Description |
---|---|
push (預設值) |
發送訂閱 |
pull |
提取訂閱 |
both |
推送和提取訂閱 |
[ @found = ] 找到 OUTPUT
表示傳回數據列的旗標。 @found是 int 類型的 OUTPUT 參數。
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 |
二進位(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 表示 SQL Server 驗證。 |
subscriber_login |
sysname | 訂閱者端的登入名稱。 |
subscriber_password |
sysname | 永遠不會傳回實際的訂閱者密碼。 結果會以 ****** 字串遮罩。 |
傳回碼值
0
(成功) 或 1
(失敗)。
備註
sp_helpmergesubscription
用於合併式複寫,以傳回儲存在發行者端或重新發行訂閱者的訂閱資訊。
對於匿名訂閱, subscription_type值一律 1
為 (pull)。 不過,您必須在訂閱者端執行 sp_helpmergepullsubscription ,以取得匿名訂閱的相關信息。
權限
只有 sysadmin 固定伺服器角色、db_owner固定資料庫角色或訂閱所屬發行集的發行集存取清單的成員,才能執行 sp_helpmergesubscription
。