我需要一种方法来确定哪个连接导致了错误 17886。我已经研究过并且有修复错误的解决方案,但前提是您知道哪个连接导致了问题。
我想记录错误,这样我就不必坐下来等待它发生 - 如果它再次发生。有没有办法使用扩展事件来跟踪:错误 #17886、连接、发生时间等。
有任何想法吗?
您可以使用扩展事件会话来完成此操作。例如
CREATE EVENT SESSION [TrackError_17886] ON SERVER
ADD EVENT sqlserver.error_reported(
ACTION(sqlserver.client_app_name,sqlserver.client_connection_id,sqlserver.client_hostname,sqlserver.client_pid,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.username)
WHERE ([error_number]=(17886)))
ADD TARGET package0.event_file(SET filename=N'TrackError_17886')
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)
go
Run Code Online (Sandbox Code Playgroud)
将在“日志”文件夹中的文件中记录错误。
归档时间: |
|
查看次数: |
62 次 |
最近记录: |