是否有任何选项可以在查询存储中查看已终止的会话?
我这么问是因为我们有一个附加工具,如果会话运行时间超过 30 分钟(KILL命令),它就会终止会话。
我想检查查询存储中已终止查询的执行计划。我在查询存储中找不到被这个附加应用程序杀死的会话/查询。
想问一下,因为找不到这个信息。
服务器重新启动后查询存储强制计划是否仍然存在?
在哪些情况下,通过查询存储强制执行的计划不会保持有效?
我们正在使用 SQL Server 2016。我们在 2023 年 9 月 11 日的查询持续时间方面遇到一些问题。想在 QueryStore 上检查它,我在 2023 年 9 月 11 日 05:00 PM 执行的查询存储上看到:
2023 年 9 月 11 日,我们的执行次数要多得多(2023 年 9 月 8 日,执行次数约为 1150 VS 800)。我在 2023 年 9 月 12 日运行相同的查询存储检查,发现昨天的执行计数比我昨天检查的要少得多。
你知道为什么我们会有这样的差异吗?更重要的是,我仍然看到 2023 年 9 月 11 日的执行计数仍在减少。
查询执行 2023-09-14 9:52 AM:
我需要在Sql Server上模拟错误:
\n\xe2\x80\x9cMsg 0, Level 20 A severe error occurred on the current command\xe2\x80\x9d\nRun Code Online (Sandbox Code Playgroud)\n因为我们的开发人员必须在应用程序中处理它。
\n我怎样才能模拟/触发这种错误?(我也可以在我的本地主机上尝试)。
\n我在查询存储中强制执行计划。计划与每天运行一次的作业中的过程相关联。这项工作的步骤之一就是:
EXEC [schema].[LoadData]
Run Code Online (Sandbox Code Playgroud)
过程 [schema].[LoadData] 看起来像
TRUNCATE TABLE [schema].[Data];
INSERT INTO [schema].[Data]
([A1],
[A2],
.
.
.,
[A49]
)
SELECT *
,CURRENT_TIMESTAMP AS [Insert TimeStamp]
FROM [schema].[View]
Run Code Online (Sandbox Code Playgroud)
其中 view 是包含一些 CTE 并使用同义词的视图(连接到来自不同数据库的表)。
为了测试强制计划是否有效,我按照以下步骤操作:
EXEC [schema].[LoadData]EXEC [schema].[LoadData]问题为什么执行计划没有被强制?在“强制计划失败计数”列中为 0。
我看到有人交换了下面的代码:
SELECT
PK1
, PK2
, PK3
, PK4
, C
, B
, SUM(NUMERIC_1)
, SUM(NUMERIC_2)
, MAX(NUMERIC_3)
, SUM(NUMERIC_4)
FROM MATDOC_EXTRACT
WHERE A = ''
AND (
(
(
B = ''
OR B = 'K'
)
AND (
C = '01'
OR C = '02'
OR C = '07'
OR C = '08'
)
)
OR (
B = ''
AND (
C = '03'
OR C = '04'
)
)
)
GROUP BY PK1
, PK2 …Run Code Online (Sandbox Code Playgroud) 我们希望在服务器上永久启用跟踪标志。我知道在SQL Server配置管理器中有一个添加启动参数的选项。是否有任何选项可以通过程序/功能/其他解决方案在服务器重新启动后自动执行此操作?
我们希望向无法访问 SQL Server 配置管理器且没有sysadmin级别权限的团队提供跟踪标志(以及启用/禁用选项)的可见性。
我们正在考虑sysadmin在服务器重新启动后以组用户身份执行的作业(不确定是否可能)。DBCC TRACEON (7412) 作业可以有一个步骤,使用诸如等的代码执行过程。