sp_replmonitorhelpmergesession (Transact-SQL)
傳回有關某個給定複寫合併代理程式過去的工作階段,只要符合篩選準則的每個工作階段,都會傳回一個資料列。 這個預存程序用來監視合併式複寫,它執行於散發資料庫的散發者端,或是訂閱資料庫的訂閱者端。
語法
sp_replmonitorhelpmergesession [ [ @agent_name = ] 'agent_name' ]
[ , [ @hours = ] hours ]
[ , [ @session_type = ] session_type ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
[ , [ @publication = ] 'publication' ]
引數
[ @agent_name = ] 'agent_name'
這是代理程式的名稱。 agent_name 是 nvarchar(100),沒有預設值。[ @hours = ] hours
這是傳回歷程代理程式工作階段資訊的時間範圍 (以小時為單位)。 hours 是 int,它可以是下列範圍之一:值
說明
< 0
傳回有關過去代理程式的執行資訊,最多可傳回 100 筆的執行資訊。
0 (預設值)
傳回所有過去代理程式的執行資訊。
> 0
傳回過去 hours 小時所發生的代理程式執行資訊。
[ @session_type = ] session_type
根據工作階段事件結束結果篩選結果集。 session_type 是 int,而且可以是下列其中一個值。值
說明
1 (預設值)
結果為重試或成功的代理程式工作階段。
0
結果為失敗的代理程式工作階段。
[ @publisher = ] 'publisher'
這是發行者的名稱。 publisher 是 sysname,預設值是 NULL。 這個參數是在訂閱者端執行 sp_replmonitorhelpmergesession 時所使用。[ @publisher_db = ] 'publisher_db'
這是發行集資料庫的名稱。 publisher_db 是 sysname,預設值是 NULL。 這個參數是在訂閱者端執行 sp_replmonitorhelpmergesession 時所使用。[ @publication= ] 'publication'
這是發行集的名稱。 publication 是 sysname,預設值是 NULL。 這個參數是在訂閱者端執行 sp_replmonitorhelpmergesession 時所使用。
結果集
資料行名稱 |
資料類型 |
說明 |
---|---|---|
Session_id |
int |
代理程式作業工作階段的識別碼。 |
狀態 |
int |
代理程式執行狀態: 1 = 啟動 2 = 成功 3 = 進行中 4 = 閒置 5 = 重試 6 = 失敗 |
StartTime |
datetime |
時間代理程式作業工作階段已開始。 |
EndTime |
datetime |
時間代理程式作業工作階段已完成。 |
Duration |
int |
這個作業工作階段的累加持續時間 (以秒為單位)。 |
UploadedCommands |
int |
代理程式工作階段期間所上傳的命令數。 |
DownloadedCommands |
int |
代理程式工作階段期間所下載的命令數。 |
ErrorMessages |
int |
代理程式工作階段期間所產生的錯誤訊息數。 |
ErrorID |
int |
所發生之錯誤的識別碼 |
PercentageDone |
decimal |
使用中的工作階段已傳遞的總變更估計百分比。 |
TimeRemaining |
int |
使用中的工作階段其餘的估計秒數。 |
CurrentPhase |
int |
這是使用中工作階段的目前階段,它可以是下列項目之一。 1 = 上傳 2 = 下載 |
LastMessage |
nvarchar(500) |
這是在工作階段期間,由合併代理程式所記錄的最後一則訊息。 |
傳回碼值
0 (成功) 或 1 (失敗)
備註
sp_replmonitorhelpmergesession 用來監視合併式複寫。
當在訂閱者端執行時,sp_replmonitorhelpmergesession 只會傳回最後五個合併代理程式工作階段的相關資訊。
權限
只有在散發者端的散發資料庫中,或是在訂閱者端的訂閱資料庫中的 db_owner 或 replmonitor 固定資料庫角色的成員,才能夠執行 sp_replmonitorhelpmergesession。