sp_helpsubscription (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,預設值是 %,可傳回與選定發行集和訂閱者相關的所有訂閱資訊。如果是 all,發行集的完整訂閱只有一個傳回的項目。[ @subscriber= ] 'subscriber'
這是取得訂閱資訊的相關訂閱者名稱。subscriber 是 sysname,預設值是 %,可傳回與選定發行集和發行項相關的所有訂閱資訊。[ @destination_db= ] 'destination_db'
這是目的地資料庫的名稱。destination_db 是 sysname,預設值為 %。[ @found= ] **'found'**OUTPUT
這是表示傳回資料列的旗標。found是 int 和 OUTPUT 參數,預設值是 23456。1 表示找到發行集。
0 表示找不到發行集。
[ @publisher= ] '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 |
binary(16) |
散發代理程式的作業識別碼。 |
loopback_detection |
bit |
回送偵測會判斷散發代理程式是否將起源於訂閱者端的交易傳回給訂閱者: 0 = 傳回。 1 = 不傳回。 搭配雙向交易式複寫來使用。如需詳細資訊,請參閱<雙向交易式複寫>。 |
offload_enabled |
bit |
指定是否已將複寫代理程式的卸載執行設成執行於訂閱者端。 如果是 0,代理程式便是執行於發行者端。 如果是 1,代理程式便是執行於訂閱者端。 |
offload_server |
sysname |
啟用遠端代理程式啟動的伺服器名稱。如果是 NULL,就會使用 MSdistribution_agents 資料表所列出的目前 offload_server。 |
dts_package_name |
sysname |
指定 Data Transformation Services (DTS) 封裝的名稱。 |
dts_package_location |
int |
如果訂閱指派了 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 |
這是訂閱者的類型,它可以是下列其中之一:
值描述
0SQL Server 訂閱者
1ODBC 資料來源伺服器
2Microsoft JET 資料庫 (已被取代)
3OLE 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 用於快照式和交易式複寫中。
權限
執行權限預設會授與 public 角色。使用者是使用者所建立之訂閱的唯一傳回資訊。所有訂閱的相關資訊都會傳回給發行者端的系統管理員 (sysadmin) 固定伺服器角色,或發行集資料庫的 db_owner 固定資料庫角色的成員。