小编ada*_*m.g的帖子

被杀死的会话是否出现在查询存储中?

是否有任何选项可以在查询存储中查看已终止的会话?

我这么问是因为我们有一个附加工具,如果会话运行时间超过 30 分钟(KILL命令),它就会终止会话。

我想检查查询存储中已终止查询的执行计划。我在查询存储中找不到被这个附加应用程序杀死的会话/查询。

sql-server kill query-store

7
推荐指数
2
解决办法
773
查看次数

服务器重新启动后查询存储强制计划是否仍然存在?

想问一下,因为找不到这个信息。

服务器重新启动后查询存储强制计划是否仍然存在?

在哪些情况下,通过查询存储强制执行的计划不会保持有效?

sql-server sql-server-2016 query-store

5
推荐指数
1
解决办法
714
查看次数

查询存储中的“执行计数”是什么?

我们正在使用 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:

在此输入图像描述

查询执行 2023-09-14 10:53 AM: 在此输入图像描述

查询执行 2023-09-14 12:36 PM:甚至 2023-09-11 也已更改...在此输入图像描述

sql-server sql-server-2016 query-store

3
推荐指数
1
解决办法
567
查看次数

如何在Sql Server上模拟MSG = 0的错误?

我需要在Sql Server上模拟错误:

\n
\xe2\x80\x9cMsg 0, Level 20 A severe error occurred on the current command\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n

因为我们的开发人员必须在应用程序中处理它。

\n

我怎样才能模拟/触发这种错误?(我也可以在我的本地主机上尝试)。

\n

sql-server error-handling

2
推荐指数
1
解决办法
596
查看次数

查询存储中强制计划的奇怪行为

我在查询存储中强制执行计划。计划与每天运行一次的作业中的过程相关联。这项工作的步骤之一就是:

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 并使用同义词的视图(连接到来自不同数据库的表)。

在查询存储中执行如下所示: 在此输入图像描述

为了测试强制计划是否有效,我按照以下步骤操作:

  1. 在 SSMS 中运行查询 ->EXEC [schema].[LoadData]
  2. 上面的执行被视为不同的查询,因此在查询存储中没有看到任何新的查询 = 7
  3. DBA 仅使用运行查询的步骤创建一个新作业 ->EXEC [schema].[LoadData]
  4. 运行上述新创建的作业导致计划 ID = 29800

问题为什么执行计划没有被强制?在“强制计划失败计数”列中为 0。

sql-server query-store

2
推荐指数
1
解决办法
420
查看次数

我们可以用 UNION ALL 来交换逻辑或吗?

我看到有人交换了下面的代码:

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 t-sql union

2
推荐指数
1
解决办法
261
查看次数

服务器重启后自动启用跟踪标志

我们希望在服务器上永久启用跟踪标志。我知道在SQL Server配置管理器中有一个添加启动参数的选项。是否有任何选项可以通过程序/功能/其他解决方案在服务器重新启动后自动执行此操作?

我们希望向无法访问 SQL Server 配置管理器且没有sysadmin级别权限的团队提供跟踪标志(以及启用/禁用选项)的可见性。

我们正在考虑sysadmin在服务器重新启动后以组用户身份执行的作业(不确定是否可能)。DBCC TRACEON (7412) 作业可以有一个步骤,使用诸如等的代码执行过程。

sql-server trace-flags

-1
推荐指数
1
解决办法
1282
查看次数