sp_helpsubscription (Transact-SQL)

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

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

Transact-SQL 語法慣例

語法

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

引數

[ @publication = ] 'publication' 這是相關聯發行集的名稱。 publication sysname ,預設值 % 為 ,它會傳回此伺服器的所有訂閱資訊。

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

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

[ @destination_db = ] 'destination_db' 這是目的地資料庫的名稱。 destination_db為 sysname ,預設值為 %

[ @found = ] 'found'OUTPUT 這是表示傳回資料列的旗標。 找到 int 和 OUTPUT 參數,預設值為 23456。

1 表示找到發行集。

0 表示找不到發行集。

[ @publisher = ] 'publisher' 這是發行者的名稱。 publisher sysname ,預設為目前伺服器的名稱。

注意

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

結果集

資料行名稱 資料類型 描述
訂閱者 sysname 訂閱者的名稱。
出版 sysname 發行集的名稱。
文章 sysname 發行項的名稱。
目的地資料庫 sysname 放置複寫資料的目的地資料庫名稱。
訂用帳戶狀態 tinyint 訂用帳戶狀態:

0 = 非使用中

1 = 已訂閱

2 = 作用中
同步處理類型 tinyint 訂用帳戶同步處理類型:

1 = 自動

2 = 無
訂用帳戶類型 int 訂用帳戶的類型:

0 = 推送

1 = 提取

2 = 匿名
完整訂用帳戶 bit 訂閱是否為發行集中的所有發行項:

0 = 否

1 = 是
訂用帳戶名稱 nvarchar(255) 訂用帳戶的名稱。
更新模式 int 0 = 唯讀

1 = 立即更新訂閱
散發作業識別碼 二進位(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 會指定散發者 端的 封裝位置。 值為 1 指定 訂閱者
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 固定資料庫角色的成員

另請參閱

sp_addsubscription (Transact-SQL)
sp_changesubstatus (Transact-SQL)
sp_dropsubscription (Transact-SQL)
系統預存程序 (Transact-SQL)