gpt4 book ai didi

logging - 如何查看在 Azure 上托管的数据库上执行的查询历史记录(全部或长期)?

转载 作者:行者123 更新时间:2023-12-04 18:44:09 25 4
gpt4 key购买 nike

对于 Azure 上托管的数据库,我可以查看对其执行的查询的最新历史记录。这是通过Azure 门户 > 数据库 > 管理 > 管理 > 查询性能实现的。

不幸的是,那里发现的历史记录只涵盖了很短的时间范围(几分钟)。我打算在数据库上创建非聚集索引,为此,需要获取典型一天(而不是过去几分钟)对数据运行的实际查询的日志。

目前,我必须多次刷新页面并记录每次刷新的所有查询,即使如此,我在这个艰巨的过程之后获得的日志也仅反射(reflect)了所执行查询的一小部分。是否有任何选项可以查看更长时间的历史记录?

谢谢。

最佳答案

我发现以下查询对于查看 Azure SQL Server 数据库上执行次数最多的查询很有用:

SELECT TOP 10 execution_count, statement_text
FROM (
SELECT QS.*,
SUBSTRING(
ST.text,
(QS.statement_start_offset/2) + 1,
((
CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset
) /2)
+ 1
) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST
) AS query_stats
WHERE statement_text LIKE 'UPDATE%'
ORDER BY execution_count DESC

来源:March Madness - SQL Azure - sys.dm_exec_query_plan | SQLRockstar | Thomas LaRock

关于logging - 如何查看在 Azure 上托管的数据库上执行的查询历史记录(全部或长期)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com