【问题标题】:[Project1].[OT_ID] AS [OT_ID][Project1].[OT_ID] AS [OT_ID]
【发布时间】:2018-03-13 11:18:43
【问题描述】:

我有一个使用 100% 的 CPU 的 SQL Server 数据库。我已经运行了以下脚本

    Select
    r.session_id,
    s.text,
    r.[status],
    r.blocking_session_id,
    r.cpu_time,
    r.total_elapsed_time
    from sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s

结果得到了这个:

我在 Internet 上搜索了与 [Project1].[ot_id] AS [ot_id] 相关的任何内容,但除了 SQL Server Bug 站点之外没有找到任何匹配的内容,这表明代码存在问题并且早在 2013 年就修复了这个错误,但我最大的问题是我不知道是什么代码导致了这个问题,而且公司目前没有雇用 DBA。我是一名试图理解 SQL 的二线工程师,所以如果你能帮助尽量保持通俗易懂的术语,请帮忙

【问题讨论】:

  • 您的问题是什么?该代码似乎正在执行您的查询所建议的操作。也许您应该问另一个问题并解释您要完成的工作。
  • 我试图了解 Project1 是什么以及为什么它耗尽了我所有的 CPU 导致我的服务器几乎无法运行,我从我所读到的内容中知道 status:suspended 意味着它正在等待资源但是有什么方法可以让我知道 Project1 到底是什么?
  • Project1 是一个表 - 它没有使用你的 CPU。从该表中检索数据的 查询 使用您的 CPU。调试此问题的唯一方法是分析查询,而不是查看一些屏幕截图。
  • 好的,那么 Project1 表将驻留在哪里,我使用 Sql Management Studio 并扩展我的数据库,扩展表并获取 dbo 列表。 但它们都没有名称 Project1 和我的System Tables 和 FileTables 都是空容器?
  • Project1 可能不是表的名称,而是表的别名。在屏幕截图的“文本”列的右侧,SQL 命令应包含“... FROM xyz as Project1 WHERE ...”,其中“xyz”是表的真实名称。

标签: sql sql-server-2012


【解决方案1】:

我按照 Joakim 的第一条指令找到了我的表,它是一个似乎出错的应用程序审计表,所以我禁用了它,我的 CPU 使用率从 100% 下降到 4%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-02
    • 2016-05-20
    • 2019-10-16
    • 1970-01-01
    • 2012-08-04
    • 2019-04-23
    • 1970-01-01
    • 2022-07-03
    相关资源
    最近更新 更多