用户在Azure Synapse专用SQL池中执行的查询



如何获取用户在Azure Synapse专用SQL池中执行的查询列表?

您可以使用Azure查询存储服务来获取查询详细信息,该服务自动捕获查询、计划和运行时统计信息的历史记录,并保留这些信息供您查看,或者您可以在数据库中创建自定义表来捕获所有所需的详细信息。

只有Synapse专用池支持查询存储,但默认情况下,它不会为新的Azure Synapse Analytics数据库启用。

使用ALTER DATABASE语句为给定数据库启用查询存储。例如:

ALTER DATABASE <database_name>
SET QUERY_STORE = ON (OPERATION_MODE = READ_WRITE);

以下查询返回查询存储中有关查询和计划的信息。

SELECT Txt.query_text_id, Txt.query_sql_text, Pl.plan_id, Qry.*
FROM sys.query_store_plan AS Pl
INNER JOIN sys.query_store_query AS Qry
ON Pl.query_id = Qry.query_id
INNER JOIN sys.query_store_query_text AS Txt
ON Qry.query_text_id = Txt.query_text_id;

另一方面,如果你想创建一个表来跟踪所有查询的历史记录,你可以在这个类似的线程上引用SqlWorldWide给出的答案。

最新更新