Pet*_*ell 10 extended-events sql-server-2012
我正在使用扩展事件来跟踪我们的应用程序使用的语句。我创建了一个会话来收集我想要的信息,除了我还想知道所使用参数的实际值。
我在非生产环境中执行此跟踪,跟踪影响的任何性能都是可以接受的。
所有查询都源自 Hibernate,并以以下形式参数化:
SELECT a, b, c From Customer where CustomerId = @P0
Run Code Online (Sandbox Code Playgroud)
这是我的会话设置。
CREATE EVENT SESSION [TracingForStatements] ON SERVER
ADD EVENT sqlserver.sp_statement_completed (
ACTION (
sqlserver.session_id,
package0.collect_system_time,
sqlserver.transaction_id,
package0.event_sequence
)
WHERE (
sqlserver.database_id=555
)
)
ADD TARGET package0.ring_buffer(SET max_memory= 128000)
WITH (EVENT_RETENTION_MODE = NO_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 1 SECONDS)
Run Code Online (Sandbox Code Playgroud)
如何捕获捕获语句中使用的参数的实际值?是否可以?
--编辑(解决方法):将事件更改为 rpc_completed 为我提供了从 Hibernate 调用的完整 sql 命令(包括所有参数值)。对于其他情况,如果可能,知道如何捕获参数值仍然很好。
归档时间: |
|
查看次数: |
3972 次 |
最近记录: |