首頁技術資產庫學習下載支援社區論壇sp_replmonitorhelpsubscription (Transact-SQL)
返回傳布伺服器上屬於一個或多個發布的訂閱的目前狀態資訊,並為每個返回的訂閱返回一行。在散發者上對散發資料庫執行此預存程序,用於監視複製。
Transact-SQL 文法約定
文法
sp_replmonitorhelpsubscription [ @publisher = ] 'publisher' [ , [ @publisher_db = ] 'publisher_db' ] [ , [ @publication = ] 'publication' ] [ , [ @publication_type = ] publication_type ] [ , [ @mode = ] mode ] [ , [ @topnum = ] topnum ] [ , [ @exclude_anonymous = ] exclude_anonymous ] [ , [ @refreshpolicy = ] refreshpolicy ]
參數
-
[
@publisher = ]
'publisher
'
-
正監視其狀態的發行伺服器的名稱。 publisher 的資料類型為sysname,預設值為 NULL。
如果為 null,則返回使用散發者的所有發行伺服器的資訊。
-
[
@publisher_db = ]
'publisher_db
'
-
已發佈資料庫的名稱。 publisher_db 的資料類型為sysname,預設值為 NULL。
如果為 NULL,則返回傳布伺服器上所有已發佈資料庫的資訊。
-
[
@publication = ]
'publication
'
-
要監視的發布的名稱。 publication 的資料類型為sysname,預設值為 NULL。
-
[
@publication_type = ] publication_type
-
發布的類型。 publication_type 的資料類型為int,它可以為以下值之一。
值 |
說明 |
0 |
事務發布。 |
1 |
快照發布。 |
2 |
合并發布。 |
NULL(預設值) |
由複製來確定發布類型。 |
-
[
@mode = ] mode
-
返回訂閱監視資訊時要使用的篩選模式。 mode 的資料類型為int,它可以為以下值之一。
值 |
說明 |
0(預設值) |
返回所有訂閱。 |
1 |
只返回帶錯誤的訂閱。 |
2 |
只返回已產生在達到閾值度量指標時發出的警告的訂閱。 |
3 |
只返回帶錯誤或已產生在達到閾值度量指標時發出的警告的訂閱。 |
4 |
返回執行情況最差的 25 個訂閱。 |
5 |
返回執行情況最差的 50 個訂閱。 |
6 |
只返回當前同步的訂閱。 |
7 |
只返回當前不同步的訂閱。 |
-
[
@topnum = ] topnum
-
將結果集限制為返回資料頂部的指定訂閱編號。 topnum 的資料類型為int,無預設值。
-
[
@exclude_anonymous = ] exclude_anonymous
-
指示是否從結果集中排除匿名提取訂閱。 exclude_anonymous 的資料類型為bit,預設值為
0;值為 1 時表示排除匿名訂閱,值為0 時表示包括匿名訂閱。
-
[
@refreshpolicy= ] refreshpolicy
-
僅供內部使用。
結果集
列名 |
資料類型 |
說明 |
status |
int |
與發布關聯的所有複製代理的最大值狀態,可以是下列值之一: 1= 已開始 2 = 成功 3= 進行中 4 = 空閑 5= 正在重試 6= 失敗 |
warning |
int |
由屬於該發布的訂閱所產生的最大閾值警告,可以是下列一個或多個值進行邏輯或運算的結果。 1= expiration – 尚未在保持期閾值內對事務發布進行同步。 2 = latency - 將資料從事務發行伺服器複製到訂閱伺服器所用的時間超過了閾值(秒)。 4= mergeexpiration - 尚未在保持期閾值內對合并發布的訂閱進行同步。 8= mergefastrunduration - 完成對合并訂閱的同步所用的時間超過了快速網路連接所要求的閾值(秒)。 16 = mergeslowrunduration - 完成對合并訂閱的同步所用的時間超過了慢速或撥號網路串連所要求的閾值(以秒為單位)。 32 = mergefastrunspeed – 合并訂閱的同步過程中的行傳遞速率未能維持快速網路連接上的閾值速率(以每秒傳遞的行數為單位)。 64= mergeslowrunspeed – 合并訂閱的同步過程中的行傳送速率未能維持慢速或撥號網路串連的閾值速率(以每秒傳遞的行數為單位)。 |
subscriber |
sysname |
訂閱伺服器的名稱。 |
subscriber_db |
sysname |
用於訂閱的資料庫的名稱。 |
publisher_db |
sysname |
已發佈資料庫的名稱。 |
publication |
sysname |
發布的名稱。 |
publication_type |
int |
發布的類型,可以是下列值之一: 0 = 事務發布 1 = 快照發布 2 = 合并發布 |
subtype |
int |
訂閱類型,可以是下列值之一: 0 = 推送 1 = 請求 2 = 匿名 |
latency |
int |
在事務發布中,由記錄讀取器代理程式或分發代理傳播的資料更改的最長延隔時間(以秒為單位)。 |
latencythreshold |
int |
事務發布的最長延隔時間,高於此時間即產生警告。 |
agentnotrunning |
int |
代理未啟動並執行時間長度,以小時為單位。 |
agentnotrunningthreshold |
int |
產生警告前代理未啟動並執行時間長度,以小時為單位。 |
timetoexpiration |
int |
訂閱未同步時訂閱到期前的時間長度,以小時為單位。 |
expirationthreshold |
int |
訂閱到期導致警告產生前的時間,以小時為單位。 |
last_distsync |
datetime |
分發代理上次啟動並執行日期時間。 |
distribution_agentname |
sysname |
事務發布訂閱的分發代理作業的名稱。 |
mergeagentname |
sysname |
合并發布訂閱的合并代理作業的名稱。 |
mergesubscriptionfriendlyname |
sysname |
為訂閱指定的易記名稱。 |
mergeagentlocation |
sysname |
運行合并代理的伺服器的名稱。 |
mergeconnectiontype |
int |
將訂閱同步到合并發布時使用的串連,可以是下列值之一: 1 = 區域網路 (LAN) 2 = 撥號網路串連 3 = Web 同步處理。 |
mergePerformance |
int |
訂閱的上次同步相對於其所有同步而言的效能,用上次同步的傳送速率除以之前全部傳送速率的平均值。 |
mergerunspeed |
float |
訂閱的上次同步的傳送速率。 |
mergerunduration |
int |
完成訂閱的上次同步的時間長度。 |
monitorranking |
int |
用於對結果集中的訂閱進行排序的排名值,可以是下列值之一: 對於事務發布: 60 = 錯誤 56 = 警告:“嚴重”狀態下的效能 52 = 警告:即將到期或已到期 50 = 警告:訂閱未初始化 40 = 正在重試失敗的命令 30 = 未運行(成功) 20 = 正在運行(正在啟動、正在運行或空閑) 對於合并發布: 60 = 錯誤 56 = 警告:“嚴重”狀態下的效能 54 = 警告:長時間啟動並執行合并 52 = 警告:即將到期 50 = 警告:訂閱未初始化 40 = 正在重試失敗的命令 30 = 正在運行(正在啟動、正在運行或空閑) 20 = 未運行(成功) |
distributionagentjobid |
binary(16) |
事務發布訂閱的分發代理作業的 ID。 |
mergeagentjobid |
binary(16) |
訂閱合并發布的合并代理作業的 ID。 |
distributionagentid |
int |
訂閱的分發代理作業的 ID。 |
distributionagentprofileid |
int |
分發代理使用的代理設定檔的 ID。 |
mergeagentid |
int |
訂閱的合并代理作業的 ID。 |
mergeagentprofileid |
int |
合并代理使用的代理設定檔的 ID。 |
傳回碼值
0(成功)或 1(失敗)
注釋
sp_replmonitorhelpsubscription 用於所有類型的複製。
sp_replmonitorhelpsubscription 根據訂閱狀態的嚴重性對結果集進行排序,其嚴重性由monitorranking值確定。
例如,處於錯誤狀態的所有訂閱的各行排在處於警告狀態的訂閱的各行之上。
許可權
只有散發資料庫中的 db_owner 或 replmonitor 固定資料庫角色的成員才能執行sp_replmonitorhelpsubscription。
請參閱
概念以編程方式監視複製
-------EG:
sp_replmonitorhelpsubscription @publisher='DB-DISTOTHERS',@publisher_db='scm',@publication='orderform',@publication_type=0