檢閱重新執行結果
在 Microsoft SQL Server Distributed Replay 功能完成分散式重新執行之後,即可擷取每個用戶端的重新執行活動,並將其儲存在每個用戶端的結果追蹤檔案中。 若要擷取此活動,您必須在以 replay 選項執行管理工具時使用 -o 參數。 如需有關 replay 選項的詳細資訊,請參閱<重新執行選項 (Distributed Replay 管理工具)>。
結果追蹤檔案的儲存位置是由每個用戶端上用戶端組態檔 DReplayClient.xml 中的 <ResultDirectory> XML 項目所指定。 每次重新執行時都會覆寫用戶端結果目錄中的追蹤檔案。
若要指定結果追蹤檔案中應該擷取何種輸出,請修改重新執行組態檔 DReplay.exe.replay.config。 您可以使用 <OutputOptions> XML 項目來指定是否應該記錄資料列計數或結果集內容。
如需有關這些組態設定的詳細資訊,請參閱<設定 Distributed Replay>。
結果追蹤檔案中擷取的事件類別
下表列出結果追蹤資料中擷取的所有事件類別。
類別目錄 |
EventClass 名稱 |
擷取頻率 |
擷取點 |
---|---|---|---|
可重新執行的事件 |
Audit Login |
原始追蹤資料中每個 Audit Login 事件一次 |
在事件成功完成或失敗時。 |
Audit Logout |
原始追蹤資料中每個 Audit Logout 事件一次 |
在事件成功完成或失敗時。 |
|
SQL:BatchCompleted |
原始追蹤資料中每個 SQL:BatchStarting 事件一次 |
在事件成功完成或失敗時。 |
|
RPC:Completed |
原始追蹤資料中每個 RPC:Starting 事件一次 |
在事件成功完成或失敗時。 |
|
統計資料和結果 |
Replay Settings Event |
一次 |
結果追蹤的第一個事件 |
Replay Statistics Event |
一次 |
結果追蹤的最後一個事件 |
|
Replay Result Set Event |
每個 SQL:BatchStarting 和 RPC:Starting 事件一次。 只有在重新執行組態檔中 <RecordResultSet> 選項的值設為 Yes 時才擷取。 |
|
|
Replay Result Row Event |
SQL:BatchStarting 和 RPC:Starting 事件結果集中的每個資料列一次。 只有在重新執行組態檔中 <RecordResultSet> 選項的值設為 Yes 時才擷取。 |
|
|
錯誤和警告 |
Replay Internal Error |
每個內部錯誤一次 |
在發生內部錯誤狀況時 |
Replay Provider Error |
每個提供者錯誤一次 |
在發生提供者錯誤狀況時 |
請注意下列事項:
在目標伺服器上每個順利重新執行的事件都有一個對應的輸出事件類別。
每個事件失敗或取消時,可能會產生多個錯誤。
事件類別資料行對應
下圖列出結果追蹤的哪些資料行適用於重新執行期間所擷取的每種事件類別。
結果追蹤的資料行說明
下表描述結果追蹤資料的資料行。
資料行名稱 |
資料類型 |
說明 |
資料行識別碼 |
---|---|---|---|
EventClass |
nvarchar |
事件類別的名稱。 |
1 |
EventSequence |
bigint |
針對提供者錯誤以及內部錯誤和警告,這是對應於錯誤或警告的擷取事件順序。 針對所有其他事件類別,這是原始追蹤資料中的事件順序。 |
2 |
ReplaySequence |
bigint |
針對提供者錯誤以及內部錯誤和警告,這是對應於錯誤或警告的重新執行事件順序。 針對所有其他事件類別,這是重新執行期間指派的事件順序。 |
3 |
TextData |
ntext |
TextData 的內容取決於 EventClass。 針對 Audit Login 和 ExistingConnection,這是連接的設定選項。 針對 SQL:BatchStarting,這是批次要求的主體。 針對 RPC:Starting,這是呼叫的預存程序。 針對 Replay Settings Event,此資料行包含重新執行組態檔中所定義的設定。 針對 Replay Statistics Event,這包含下列資訊:
針對 Replay Result Set Event,這會顯示傳回結果資料行標頭的清單。 針對 Replay Result Row Event,這會顯示該資料列所有資料行的傳回值。 針對 Replay Internal Warning 和 Replay Provider Error,此資料行包含提供者警告或錯誤。 |
4 |
Attention |
bigint |
事件的注意事項持續期間 (毫秒)。 這是從擷取追蹤的注意事項事件計算出來。 如果沒有指定事件的查詢逾時,此資料行不會擴展 (Null)。 |
5 |
SubmitTime |
datetime |
事件提交至 SQL Server 的時間。 |
6 |
IsSuccessful |
int |
布林旗標,指出特定事件是否已成功執行,而且結果集傳回至用戶端。 產生警告的事件 (例如因為注意事項或使用者指定逾時而取消事件時) 會被視為成功。 IsSuccessful 可以是下列其中一個值:
|
7 |
Duration [microsec] |
bigint |
事件的回應持續期間 (毫秒)。 從登入/登出/RPC/語言事件提交至 SQL Server 時開始測量。 如果事件成功,則會在已耗用完整的結果集時結束測量。 如果事件不成功,則會在事件失敗或取消時結束測量。 |
8 |
RowCount |
bigint |
依據重新執行組態檔中 <RecordRowCount> 的值而擴展:
|
9 |
CaptureSPID |
int |
事件的擷取工作階段識別碼。 |
10 |
ConnectionID |
int |
事件的擷取連接識別碼。 |
11 |
ReplaySPID |
int |
事件的重新執行工作階段識別碼。 |
12 |
DatabaseName |
nvarchar |
正在其中執行使用者陳述式的資料庫名稱。 |
13 |
LoginName |
nvarchar |
使用者登入名稱。 這可以是 domain_name\user_name 格式的 SQL Server 安全性登入或 Microsoft Windows 登入認證。 |
14 |
CaptureHostName |
nvarchar |
擷取期間用戶端服務執行所在之電腦的名稱。 |
15 |
ReplayHostName |
nvarchar |
重新執行期間用戶端執行所在的電腦名稱。 |
16 |
ApplicationName |
nvarchar |
擷取期間建立 SQL Server 連接的用戶端應用程式名稱。 |
17 |
請參閱
參考
管理工具命令列選項 (Distributed Replay Utility)