sp_replmonitorhelpmergesession (Transact-SQL)

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

針對指定的複寫合併代理程式傳回過去會話的資訊,每個符合篩選準則的會話各傳回一個資料列。 這個預存程式是用來監視合併式複寫,會在散發資料庫的散發者端或訂閱資料庫的訂閱者端執行。

Transact-SQL 語法慣例

語法

sp_replmonitorhelpmergesession
    [ [ @agent_name = ] N'agent_name' ]
    [ , [ @hours = ] hours ]
    [ , [ @session_type = ] session_type ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
[ ; ]

引數

[ @agent_name = ] N'agent_name '

代理程式的名稱。 @agent_name Nvarchar(100), 沒有預設值。

[ @hours = ] 小時

傳回曆程記錄代理程式會話資訊的時間範圍,以小時為單位。 @hours為 int ,而且可以是下列其中一個範圍。

Description
< 0 傳回過去代理程式執行的相關資訊,最多 100 次執行。
0 (預設值) 傳回所有過去代理程式執行的資訊。
> 0 傳回過去 幾個小時 內發生的代理程式執行資訊。

[ @session_type = ] session_type

根據會話結束結果篩選結果集。 @session_type int ,而且可以是下列其中一個值。

Description
1 (預設值) 重試或成功結果的代理程式會話。
0 失敗結果的代理程式會話。

[ @publisher = ] N'publisher '

發行者的名稱。 @publisher為 sysname ,預設值為 NULL 。 此參數會在訂閱者端執行 sp_replmonitorhelpmergesession 時使用。

[ @publisher_db = ] N'publisher_db '

發行集資料庫的名稱。 @publisher_db 為 sysname ,預設值為 NULL 。 此參數會在訂閱者端執行 sp_replmonitorhelpmergesession 時使用。

[ @publication = ] N'publication '

發行集的名稱。 @publication為 sysname ,預設值為 NULL 。 此參數會在訂閱者端執行 sp_replmonitorhelpmergesession 時使用。

結果集

資料行名稱 資料類型 描述
Session_id int 代理程式作業會話的識別碼。
Status int 代理程式執行狀態:

1 = Start

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