高效读取system_health*.xel文件

问题描述 投票:0回答:1

我想收集 SQL 死锁的详细信息。我正在尝试使用此查询。 由于我必须在生产环境中运行它,我担心它是否会造成开销。我可以应用任何过滤器来将数据集限制为今天或昨天吗?

SELECT CONVERT(XML, event_data) DeadLockXMLData
    ,ROW_NUMBER() OVER (
        ORDER BY Object_name
        ) DeadLockNumber
FROM sys.fn_xe_file_target_read_file(N'system_health*.xel', NULL, NULL, NULL)
WHERE OBJECT_NAME = 'xml_deadlock_report'
sql-server database-administration
1个回答
0
投票

我想我可以用这个来满足需要。来自文档

SELECT * FROM sys.fn_xe_file_target_read_file('system_health*.xel', null, null, null)
WHERE timestamp_utc > dateadd(day, -1, GETUTCDATE())

PS:这

timestamp_utc
适用于:SQL Server 2017 (14.x) 及更高版本和 Azure SQL 数据库。

© www.soinside.com 2019 - 2024. All rights reserved.