Sql server 在SQL Server的表中存储死锁数据

Sql server 在SQL Server的表中存储死锁数据,sql-server,deadlock,procedure,database-deadlocks,extended-events,Sql Server,Deadlock,Procedure,Database Deadlocks,Extended Events,我想创建一个过程,该过程存储数据库中发生的死锁数量的每周数据,并将此输出存储在一个表中—这是最好的方法 我尝试使用扩展日志,但如何将XML输出存储在表中 提前感谢您最好的方法是为数据库创建探查器跟踪。您应该查看如何过滤捕获的死锁(例如,按应用程序、数据库或用户)。在运行跟踪的任何时间段后,都可以使用fn_trace方法将数据导入到表中: SELECT * INTO tracetable FROM ::fn_trace_gettable('c:\deadlock.trc', default)

我想创建一个过程,该过程存储数据库中发生的死锁数量的每周数据,并将此输出存储在一个表中—这是最好的方法

我尝试使用扩展日志,但如何将XML输出存储在表中


提前感谢您

最好的方法是为数据库创建探查器跟踪。您应该查看如何过滤捕获的死锁(例如,按应用程序、数据库或用户)。在运行跟踪的任何时间段后,都可以使用fn_trace方法将数据导入到表中:

SELECT * INTO tracetable

FROM ::fn_trace_gettable('c:\deadlock.trc', default)

感谢您提供解决方案。我试过了,但是有很多行,我如何才能找到唯一与死锁相关的行?请按照本文的内容详细介绍如何设置死锁跟踪:。您需要额外的事件来真正理解是什么导致了死锁。但许多文章没有强调的是在跟踪上设置过滤器的重要性——否则你可能有太多的东西要分析。如果您觉得我回答了问题,请将答案标记为正确。启用标记1222的跟踪,然后使用错误日志查看死锁。