sp_helpmergesubscription (Transact-SQL)

適用於:SQL Server

傳回合並式發行集訂閱的相關信息,包括發送和提取。 這個預存程式會在發行集資料庫的發行者端或訂閱資料庫的重新發行訂閱者端執行。

Transact-SQL 語法慣例

語法

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