2016-09-21 5 views
0

次のステートメントで後で解析するために、blocked_process_report & xml_deadlock_reportイベントをファイルにキャプチャするためにSERVER EVENT SESSIONを作成しようとしています。拡張イベントがsys.dm_xe_objectsからプロセスレポートをブロックしました

CREATE EVENT SESSION [blocked_process] ON SERVER 
ADD EVENT sqlserver.blocked_process_report(
    ACTION(sqlserver.client_app_name, 
      sqlserver.client_hostname, 
      sqlserver.database_name)) , 
ADD EVENT sqlserver.xml_deadlock_report (
    ACTION(sqlserver.client_app_name, 
      sqlserver.client_hostname, 
      sqlserver.database_name)) 
ADD TARGET package0.asynchronous_file_target 
(SET filename = N'c:\temp\XEventSessions\blocked_process.xel', 
    metadatafile = N'c:\temp\XEventSessions\blocked_process.xem', 
    max_file_size=(65536), 
    max_rollover_files=5) 
WITH (MAX_DISPATCH_LATENCY = 5SECONDS) 

次のエラーを受け取ります。このステートメントを実行してください。

メッセージ25623、レベル16、状態1、行1 イベント名、 "sqlserver.blocked_process_report"、無効である、またはオブジェクトが見つかりませんでした。**

名前でクエリsys.dm_xe_objects

SELECT * FROM sys.dm_xe_objects 名前順。

binary_dataからbooleanになります。「blocked_process_report」が見つかりません。したがって、エラーです。

現在のバージョン:Microsoft SQL Server 2008 R2(SP2) - 10.50.4000.0(X64)Jun 28 2012 08:36:30 Windows NT 6.1(ビルド7601)のMicrosoft Corporation Express Edition(64-bit) :Service Pack 1)

この不足しているイベントについての他の参照を参照してください。

私は間違っていますか?

+1

このリンクのコメントを確認してください:https://www.brentozar.com/archive/2014/03/extended-events-doesnt-hard/ – TheGameiswar

答えて

1

残念ながら、blocked_process_reportは、SQL Serverで追跡可能な拡張イベントとして追加された2012年

拡張イベントウィザード(s)は、SQL Server 2012のまで追加されませんでしたので、私は表示するには、以下のクエリを使用します使用可能な拡張イベント:

SELECT * 
FROM sys.dm_xe_objects AS Events 
WHERE Events.object_type = 'event' AND Events.name LIKE '%blocked%' 
ORDER BY Events.name; 

あるいはさらに良いジョナサンKehayiasによってthis非常に良い記事を読みました。

関連する問題