共用方式為


sp_replmonitorhelpmergesession (Transact-SQL)

適用於:SQL Server Azure 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