sp_replmonitorhelppublication (Transact-SQL)
傳回在發行者端一或多個發行集的目前狀態資訊。這個預存程序用來監視複寫,執行於散發資料庫的散發者端。
語法
sp_replmonitorhelppublication [ @publisher = ] 'publisher'
[ , [ @publisher_db = ] 'publisher_db'
[ , [ @publication = ] 'publication'
[ , [ @publication_type = ] publication_type ]
[ , [ @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 (預設值)
複寫試圖判斷發行集類型。
- [ @refreshpolicy= ] refreshpolicy
僅供內部使用。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
publisher_db |
sysname |
這是發行者的名稱。 |
publication |
sysname |
這是發行集的名稱。 |
publication_type |
int |
這是發行集的類型,它可以是下列值之一。 0 = 交易式發行集 1 = 快照式發行集 2 = 合併式發行集 |
status |
int |
發行集所有相關聯之複寫代理程式的最大狀態,它可能是下列值之一。 1 = 已啟動 2 = 成功 3 = 進行中 4 = 閒置 5 = 重試中 6 = 失敗 |
warning |
int |
屬於發行集之訂閱所產生的最大臨界警告,它可能是一或多個這些值的邏輯 OR 結果。 1 = expiration – 並未在保留期限臨界值內同步處理交易式發行集的訂閱。 2 = latency - 將交易式發行者的資料複寫到訂閱者所花的時間超出臨界值 (以秒為單位)。 4 = mergeexpiration – 並未在保留期限臨界值內同步處理合併式發行集的訂閱。 8 = mergefastrunduration - 利用快速網路連接來完成合併訂閱的同步處理所花的時間超出臨界值 (以秒為單位)。 16 = mergeslowrunduration - 利用慢速或撥號網路連接來完成合併訂閱的同步處理所花的時間超出臨界值 (以秒為單位)。 32 = mergefastrunspeed – 利用快速網路連接來進行合併訂閱同步處理期間,資料列傳遞速率無法維持臨界速率 (以每秒資料列數為單位)。 64 = mergeslowrunspeed – 利用慢速或撥號網路連接來進行合併訂閱同步處理期間,資料列傳遞速率無法維持臨界速率 (以每秒資料列數為單位)。 |
worst_latency |
int |
交易式發行集的記錄讀取器或散發代理程式所傳播之資料變更的最高延遲 (以秒為單位)。 |
best_latency |
int |
交易式發行集的記錄讀取器或散發代理程式所傳播之資料變更的最低延遲 (以秒為單位)。 |
average_latency |
int |
交易式發行集的記錄讀取器或散發代理程式所傳播之資料變更的平均延遲 (以秒為單位)。 |
last_distsync |
datetime |
這是上次執行散發代理程式的日期時間。 |
retention |
int |
這是發行集的保留期限。 |
latencythreshold |
int |
這是交易式發行集所設定的延遲臨界值。 |
expirationthreshold |
int |
當發行集是合併式發行集時,所設定的期限臨界值。 |
agentnotrunningthreshold |
int |
這是代理程式尚未執行的最長時間所設定的臨界值。 |
subscriptioncount |
int |
這是發行集的訂閱數目。 |
runningdistagentcount |
int |
這是針對發行集而執行的散發代理程式數目。 |
snapshot_agentname |
sysname |
發行集的快照集代理程式作業名稱。 |
logreader_agentname |
sysname |
交易式發行集的記錄讀取器代理程式作業名稱。 |
qreader_agentname |
sysname |
支援佇列更新的交易式發行集之佇列讀取器代理程式作業名稱。 |
worst_runspeedPerf |
int |
這是合併式發行集的最長同步處理時間。 |
best_runspeedPerf |
int |
這是合併式發行集的最短同步處理時間。 |
average_runspeedPerf |
int |
這是合併式發行集的平均同步處理時間。 |
retention_period_unit |
int |
這是用來表示 retention 的單位。 |
備註
sp_replmonitorhelppublication 用來搭配使用所有類型的複寫。
權限
只有散發資料庫中的 db_owner 或 replmonitor 固定資料庫角色成員,才能夠執行 sp_replmonitorhelppublication。
請參閱
其他資源
How to: Programmatically Monitor Replication (Replication Transact-SQL Programming)