--sqlサーバー2008のみのサポートの上に上記の2012とは、GUIインターフェイスをサポートされています
拡張イベントをMSDN:開くためのリンクをクリックしてください
達成するための[1] T-SQL
そしてsql_batch_completed事件(バッチはTransact-SQLの終了したときに発生する)に基づくrpc_completed(リモート・プロシージャ・コール完了したときに発生する)イベント
転送:HTTPS:// blog.csdn.net / yenange / Articleこの記事はでした/詳細/ 52592814 - イベントセッションを削除し たIF EXISTS(SELECTを * FROM sys.server_event_sessions 名= ' slow_queryは' ) DROP EVENTセッションのslow_queryをON サーバー GO - 作成しますイベントセッション CREATE EVENT SESSION [ slow_query ] ON サーバ ADDを イベントがsqlserver.rpc_completed( ACTION(sqlos.task_time、sqlserver.database_name、sqlserver.nt_username、sqlserver.sql_text、sqlserver.transaction_id、sqlserver.username) WHERE - AND [のSQLServer] [データベース名] = N'xxxx「 -データベース名、修飾された自己 - - とsqlserver.username = N'xxxx「 -データベースのユーザ名、自己修正 [ DURATION ] > = 300万 - 3秒にわたって消費秒 )、 ADD EVENT sqlserver.sql_batch_completed( ACTION(sqlos.task_time、sqlserver.database_nameをsqlserver.nt_username、sqlserver.sql_text、sqlserver.transaction_id、sqlserver.username) WHERE - AND [のSQLServer] [データベース名] = N'xxxx「 -データベース名、修飾された自己 -そしてsqlserver.username = N'xxxx ' -データベースのユーザ名、自己修正 [ DURATION ] > = 300万 - 3秒以上消費秒 ) ADD TARGETのpackage0.event_fileを(SETのファイル名= N ' D:DBAの\ \ \ツールEventLogに\ slow_query.xel "、MAX_FILE_SIZE =(10)) - パス、MBのファイルを、自主的に修正 WITH(STARTUP_STATE = ONを) GO - 有効(停止)イベントセッション(START / STOP) ALTER EVENT SESSION slow_query ONサーバーSTATE = START GO
[2] GUI達成
sql_statement_completedベース(のTransact-SQLステートメントが完了したときに発生)
そしてquery_post_execution_showplanは、(SQL文を実行した後。このイベントは、実際のクエリプランのXML表現を返し発生します。特定の問題を解決したり、監視するので、唯一の短い時間だけこのイベントに使用されるべき深刻なパフォーマンス上のオーバーヘッドを持つことができ、この事件を使います。 )
(1)新しいセッションを作成し、sql_statement_completedとquery_post_execution_showplanイベントが選出されたに
(2)3Sより大きい述語スクリーニング期間および除外するシステムデータベース、2つのイベントはそう設定されています
(3)リアルタイム監視、結果を表示
(4)グローバルフィールドとイベントフィールドを追加、変更します。query_post_execution_showplanイベントプラスusernameグローバルフィールドとdatabaseNameの
(5)Viewは、フィールドの結果の後に追加しました
関連資料記事:
そして、〜の概念を導入https://blog.csdn.net/kk185800961/article/details/49725903を
用GUI〜https://www.cnblogs.com/lyhabc/p/3475132.html
拡張イベントをMSDN:開くためのリンクをクリックしてください
達成するための[1] T-SQL
そしてsql_batch_completed事件(バッチはTransact-SQLの終了したときに発生する)に基づくrpc_completed(リモート・プロシージャ・コール完了したときに発生する)イベント
转自:https://blog.csdn.net/yenange/article/details/52592814 -- 删除事件会话 IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name = 'slow_query') DROP EVENT SESSION slow_query ON SERVER GO -- 创建事件会话 CREATE EVENT SESSION [slow_query] ON SERVER ADD EVENT sqlserver.rpc_completed( ACTION(sqlos.task_time,sqlserver.database_name,sqlserver.nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.username) WHERE --AND [sqlserver].[database_name]=N'xxxx' -- 数据库名, 自行修改 --and sqlserver.username=N'xxxx' -- 数据库用户名, 自行修改 [duration]>=3000000 -- 消耗秒数超 3 秒 ), ADD EVENT sqlserver.sql_batch_completed( ACTION(sqlos.task_time,sqlserver.database_name,sqlserver.nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.username) WHERE --AND [sqlserver].[database_name]=N'xxxx' -- 数据库名, 自行修改 --and sqlserver.username=N'xxxx' -- 数据库用户名, 自行修改 [duration]>=3000000 -- 消耗秒数超 3 秒 ) ADD TARGET package0.event_file(SET filename=N'D:\Tools\DBA\EventLog\slow_query.xel',max_file_size=(10)) --路径、文件MB, 自行修改 WITH (STARTUP_STATE=ON) GO -- 启用(停止)事件会话(START / STOP) ALTER EVENT SESSION slow_query ON SERVER STATE=START GO
【2】GUI实现
基于 sql_statement_completed(Transact-SQL 语句已完成时发生)
和 query_post_execution_showplan (在执行 SQL 语句后发生。此事件返回实际查询计划的 XML 表示形式。使用此事件可能带来严重的性能开销,所以只有在短时间内解决或监视特定问题时才应使用此事件。)
(1)新建会话,把sql_statement_completed 和 query_post_execution_showplan 事件给选上
(2)谓词 筛选出持续时间大于3s的,并排除系统数据库,两个事件都这么设置
(3)实时监控,查看结果
(4)再做修改,加全局字段与事件字段。而query_post_execution_showplan事件加了username全局字段和databaseName
(5)查看加了字段之后的结果
相关参考文章:
概念与介绍~https://blog.csdn.net/kk185800961/article/details/49725903
GUI的使用~https://www.cnblogs.com/lyhabc/p/3475132.html