我能够找到是否启用了查询存储:
SELECT name, is_query_store_on from sys.databases
我能够查询特定数据库以确定查询存储读/写状态:
SELECT actual_state_desc from sys.database_query_store_options
如何连接两个结果以将信息放在一个表中?他们没有共同的字段,我想我可以写一个CROSS JOIN
来匹配这两个表,但我不确定如果没有那个共同的字段。
我能够找到是否启用了查询存储:
SELECT name, is_query_store_on from sys.databases
我能够查询特定数据库以确定查询存储读/写状态:
SELECT actual_state_desc from sys.database_query_store_options
如何连接两个结果以将信息放在一个表中?他们没有共同的字段,我想我可以写一个CROSS JOIN
来匹配这两个表,但我不确定如果没有那个共同的字段。
根据以下文档
sys.database_query_store_options
:“此数据库”表示您当前连接上下文的数据库,或者您可以使用您感兴趣的数据库名称来完全限定它,例如
SELECT * FROM SomeDatabaseName.sys.database_query_store_options
. 所以换句话说,它是一个特定于数据库的系统视图。要实现您想要的,您必须手动加入您感兴趣的每个数据库实例的该系统视图的每个实例,例如以下查询:
上面将s从视图中用于视图
LEFT OUTER JOIN
的每个数据库实例,因此您可以返回列出的每个数据库。它通过利用该函数连接每个数据库的 ID,然后从连接成功时的正确实例返回适当的列。sys.database_query_store_options
master.sys.databases
DB_ID()
COALESCE()
sys.database_query_store_options
或者,您可以使用动态 SQL 为服务器上的任何和所有数据库自动构建上述查询,但上述查询也同样有效。