共用方式為


sp_helpsubscription (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

列出與特定發行集、發行項、訂閱者或一組訂閱相關聯的訂閱資訊。 這個預存程式是在發行集資料庫的發行者端執行。

Transact-SQL 語法慣例

語法

sp_helpsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @found = ] found OUTPUT ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引數

[ @publication = ] N'publication'

相關聯發行集的名稱。 @publication是 sysname,預設值%為 ,它會傳回此伺服器的所有訂用帳戶資訊。

[ @article = ] N'article'

發行項的名稱。 @article為 sysname,預設值%為 ,它會傳回所選發行集和訂閱者的所有訂閱資訊。 如果 all為 ,則發行集上的完整訂閱只會傳回一個專案。

[ @subscriber = ] N'subscriber'

要取得訂閱資訊之訂閱者的名稱。 @subscriber是 sysname,預設值%為 ,它會傳回所選發行集和發行項的所有訂閱資訊。

[ @destination_db = ] N'destination_db'

目的地資料庫的名稱。 @destination_db為 sysname,預設值為 %

[ @found = ] 找到 OUTPUT

表示傳回數據列的旗標。 @found是 int 類型的 OUTPUT 參數。

  • 1 表示找到發行集。
  • 0 表示找不到發行集。

[ @publisher = ] N'publisher'

發行者的名稱。 @publisher為 sysname,預設為目前伺服器的名稱。

除非是 Oracle 發行者,否則不應該指定@publisher。

結果集

資料行名稱 資料類型 描述
subscriber sysname 訂閱者的名稱。
publication sysname 發行集的名稱。
article sysname 發行項的名稱。
destination database sysname 放置複寫數據的目的地資料庫名稱。
subscription status tinyint 訂用帳戶狀態:

0 = 非使用中
1 = 已訂閱
2 = 作用中
synchronization type tinyint 訂用帳戶同步處理類型:

1 = 自動
2 = 無
subscription type int 訂用帳戶的類型:

0 = 推送
1 = 提取
2 = 匿名
full subscription bit 訂閱是否為發行集中的所有發行項:

0 = 否
1 = 是
subscription name nvarchar(255) 訂用帳戶的名稱。
update mode int 0 = 唯讀
1 = 立即更新訂閱
distribution job id 二進位(16) 散發代理程式 的工作標識碼。
loopback_detection bit 回送偵測會判斷 散發代理程式 是否將源自訂閱者的交易傳回給訂閱者:

0 = 傳回。
1 = 不會傳回。

與雙向事務複製搭配使用。 如需詳細資訊,請參閱 Bidirectional Transactional Replication
offload_enabled bit 指定是否將復寫代理程式的卸除執行設定為在訂閱者端執行。

如果 0為 ,代理程式會在發行者端執行。
如果 1為 ,代理程式會在訂閱者端執行。
offload_server sysname 啟用遠端代理程式啟用的伺服器名稱。 如果 NULL為 ,則會使用MSdistribution_agents數據表中 所列的目前offload_server
dts_package_name sysname 指定資料轉換服務 (DTS) 封裝的名稱。
dts_package_location int 如果已將 DTS 套件指派給訂用帳戶,則為 DTS 套件的位置。 如果有封裝,值 0 會指定 位於 的 distributor封裝位置。 的值 1subscriber指定 。
subscriber_security_mode smallint 這是訂閱者的安全性模式,其中 1 表示 Windows 驗證,而 0 表示 SQL Server 驗證。
subscriber_login sysname 訂閱者端的登入名稱。
subscriber_password 永遠不會傳回實際的訂閱者密碼。 結果會以 ****** 字串遮罩。
job_login sysname 執行 散發代理程式 的 Windows 帳戶名稱。
job_password 永遠不會傳回實際的作業密碼。 結果會以 ****** 字串遮罩。
distrib_agent_name nvarchar(100) 同步處理訂閱的代理程式作業名稱。
subscriber_type tinyint 訂閱者的類型,可以是下列其中一個值:

0 = SQL Server 訂閱者
1 = ODBC 資料源伺服器
2 = Microsoft JET 資料庫 (已淘汰)
3 = OLE DB 提供者
subscriber_provider sysname 註冊非 SQL Server 數據來源之 OLE DB 提供者的唯一程式設計標識碼 (PROGID)。
subscriber_datasource nvarchar(4000) OLE DB 提供者所了解的數據來源名稱。
subscriber_providerstring nvarchar(4000) 識別數據源的 OLE DB 提供者特定 連接字串。
subscriber_location nvarchar(4000) OLE DB 提供者所了解的資料庫位置
subscriber_catalog sysname 與 OLE DB 提供者建立連接時要使用的目錄。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_helpsubscription 用於快照式和事務複製。

權限

執行許可權預設為 公用 角色。 使用者只會針對他們建立的訂用帳戶傳回資訊。 所有訂閱的信息都會傳回發行者端系統管理員固定伺服器角色的成員,或發行集資料庫上db_owner固定資料庫角色的成員