AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[sp-whoisactive](dba)

Martin Hope
Justin Frye
Asked: 2020-10-20 10:36:10 +0800 CST

限制 sp_whoisactive 输出

  • 5

全部,

我目前正在整理一篇基于知识的文章,我们可以将其交给我们的帮助台以进行一些初步的故障排除或信息收集。我所做的其中一件事是创建能力(感谢 Brent,https: //www.brentozar.com/askbrent),让非系统管理员能够运行 sp_whoisactive 以输出他们可以提供给像我一样的 dbas 的一些细节票。我遇到的问题是我想从结果中排除“sql_text”,但我似乎无法弄清楚如何?

我了解您可以在输出进入表时过滤输出(@output_column_list 参数),但我没有让代理将其导出到表中。最初,我的印象是“@output_column_list”是我可以调整我想在结果中看到的列的地方,但它显然只是一个用于过滤输出到表的参数。在我绝望的尝试中,我无论如何都尝试了上述参数,并且会从输出中省略“sql_text”,但所做的只是重新定位列顺序。

EXEC sp_WhoIsActive @output_column_list = '[dd%][session_id][login_name][wait_info][tasks][tran_log%][cpu%][temp%][block%][reads%][writes%][context%][physical%][query_plan][locks][%]'

因此,我希望他们能够将内容(带有标题)复制到要附加的 Excel 表中。我担心如果我向帮助台提供太多信息会使他们感到困惑,那么复杂的工作越少越好。

我错过了什么吗?他们将无法运行任何作业,甚至无法查看日志,因此他们的权利已经非常有限。

sql-server sp-whoisactive
  • 1 个回答
  • 279 Views
Martin Hope
kevinnwhat
Asked: 2019-06-14 18:29:19 +0800 CST

sp_whoisactive @get_locks 参数xml错误

  • 6

运行以下命令时经常收到此错误

sp_whoisactive @get_locks = 1

消息 6841,级别 16,状态 1,过程 sp_WhoIsActive,第 4287 行 FOR XML 无法序列化节点“Lock/@resource_description”的数据,因为它包含 XML 中不允许的字符 (0x0001)。要使用 FOR XML 检索此数据,请将其转换为二进制、varbinary 或图像数据类型并使用 BINARY BASE64 指令。警告:空值被聚合或其他 SET 操作消除。

我相信这与抓取所持有的锁的 xml 有关,但是我注意到它在发生阻塞时经常发生。有什么办法可以解决这个问题还是一个已知问题?运行 SQL Server 2012 和最新版本 v11.32 的sp_whoisactive。

编辑

按照建议的选项,我无法找到这些数据。我主要是在服务器阻塞时遇到该消息,一旦遇到该消息,我会关闭参数并尝试查看它可能来自哪个对象,但这很困难,因为有很多线程在运行。有没有更简单的方法呢?我最初认为它不是数据而是对象名称,因为当我看到锁 xml 它通常只包含对象名称时,我没有意识到实际数据被放入其中可能导致此消息?

编辑 2

根据 Erik 的建议,我能够使用 SOH 字符输出#locks 表的结果来追踪对象。然而最终我发现最有用的是使用 get_task_info = 2 和 get_additional_info = 1 的变通方法,在运行这些参数时,我没有收到错误消息,但仍然收到我需要的信息。我仍将探索尝试将该字符添加到 sp_whoisactive 中的替换语句中,以便在需要查看完整 XML 的情况下仍然可以使用 get_locks 参数。

sql-server sp-whoisactive
  • 1 个回答
  • 441 Views
Martin Hope
kevinnwhat
Asked: 2019-05-01 13:15:38 +0800 CST

为什么 sp_whoisactive 显示数据库锁而不是表锁?

  • 0

最近我注意到在我们的 sql server 上运行的一些线程是从我们的应用程序调用的,它们处于休眠状态几分钟并且有打开的事务(通常只有一个)。

我将参数 @get_locks = 1 添加到 sp_whoisactive 以查看它们持有什么并且 xml 结果集如下所示

<Database name="NOG_APP">
   <Locks>
      <Lock request_mode="S" request_status="GRANT" request_count="1" />
   </Locks>
</Database>

我在这里没有看到任何物体……我该如何解释呢?这是否意味着该线程没有持有任何锁?如果是这样,为什么输出不返回 NULL?

运行 SQL Server 2012 SP3。

sql-server sp-whoisactive
  • 1 个回答
  • 560 Views
Martin Hope
Tony Hinkle
Asked: 2018-09-28 10:09:48 +0800 CST

sp_whoisactive - 统计信息是否包括快照版本控制的活动?

  • 4

在已启用读提交快照隔离的系统上,sp_whoisactive 返回的读取、写入、CPU 等统计信息是否包括与维护 tempdb 中的版本相关的活动?

sql-server sp-whoisactive
  • 1 个回答
  • 77 Views
Martin Hope
Tony Hinkle
Asked: 2018-07-11 09:57:32 +0800 CST

sp_WhoIsActive:会话或批处理的统计信息是累积的吗?

  • 3

在 的输出中sp_WhoIsActive,reads、writes、CPU 和 wait_info 等列是针对会话累积的,还是只是针对批处理累积的?我们有一个阻塞很多并显示数百万次读取的查询,但是当我从 SSMS 批量运行八个查询时,读取是个位数,所以我试图了解是否发生了不同的事情应用程序运行它的方式会导致它读取更多内容。

或者它可以是不同的东西吗?我注意到该会话有 2 个未结交易。这些统计数据能否代表该会话当前处于活动状态的所有交易?

sql-server sp-whoisactive
  • 1 个回答
  • 282 Views
Martin Hope
Learning_DBAdmin
Asked: 2018-06-01 00:56:18 +0800 CST

监视 SQL Server 阻止的进程 [重复]

  • 2
这个问题在这里已经有了答案:
DBA 阻止查询电子邮件警报 (1 个答案)
4年前关闭。

我一直在使用sp_whoisactive,这对于查找运行会话和阻塞的详细信息非常有帮助。

我想检查是否有任何选项可以根据此过程安排作业,并且仅当数据库上存在活动阻塞并且阻塞保持超过可配置的分钟数时才提醒我。

此外,只有在达到超过可配置的数据库阻塞数时才应触发警报。

我使用了http://www.sqlserver-dba.com/2017/01/how-to-monitor-blocked-processes-with-sql-alert-and-email-sp_whoisactive-report.html提供的详细信息,但是它发送每次运行时都会发出警报,并且似乎没有检查阻塞情况。无论是只运行一个查询还是运行多个查询,无论是阻塞还是不阻塞,都发送电子邮件。不确定,如果我遗漏了什么。用于阻塞的 SQL 作业

sql-server sp-whoisactive
  • 1 个回答
  • 1436 Views
Martin Hope
Halt_And_Catch_Fire
Asked: 2018-04-17 15:05:03 +0800 CST

sp_whoisactive 时间列

  • 0

我正在查看借助 sp_whoisactive 捕获的数据。

session_id: 1016
blocked_session_count: 24
Login_time : 29/03/2018  12:14:59
tran_start_time : 29/03/2018  12:14:59
start_time: 29/03/2018  12:15:59
status: sleeping
open_tran_count :1

此 session_id 的 login_time 和 tran_start_time 相同。但是 start_time 是在一分钟之后。

这是否意味着会话在 29/03/2018 12:15:59 进入休眠状态??

谢谢 :)

sql-server sp-whoisactive
  • 1 个回答
  • 684 Views
Martin Hope
Halt_And_Catch_Fire
Asked: 2017-09-12 15:46:28 +0800 CST

休眠 SPID 与开放交易

  • 3

睡觉的SPID

这是 的输出sp_whoisactive。我应该担心具有高 cpu 数量和开放事务的休眠 spids 吗?该sql_command值与 相同sql_text。CPU 和读取确实会随着时间的推移而增加。

我在任何给定时间都有数百个这样的东西……这会影响 CPU 吗?

sql-server sp-whoisactive
  • 1 个回答
  • 424 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve