SQL SERVER 调优等待类型联机帮助

2024-04-04 06:48

本文主要是介绍SQL SERVER 调优等待类型联机帮助,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--联机帮助
下表列出各任务所遇到的等待类型。

等待类型 说明
ASYNC_DISKPOOL_LOCK
当尝试同步并行的线程(执行创建或初始化文件等任务)时出现。

ASYNC_IO_COMPLETION
当某任务正在等待 I/O 完成时出现。

ASYNC_NETWORK_IO
当任务被阻止在网络之后时出现在网络写入中。

BACKUP
当任务作为备份处理的一部分被阻止时出现。

BACKUP_OPERATOR
当任务正在等待磁带装入时出现。若要查看磁带状态,请查询 sys.dm_io_backup_tapes。如果装入操作没有挂起,则该等待类型可能指示磁带机发生硬件问题。

BACKUPBUFFER
在备份任务等待数据或等待用来存储数据的缓冲区时发生。此类型不常见,只有当任务等待装入磁带时才会出现。

BACKUPIO
在备份任务等待数据或等待用来存储数据的缓冲区时发生。此类型不常见,只有当任务等待装入磁带时才会出现。

BACKUPTHREAD
当某任务正在等待备份任务完成时出现。等待时间可能较长,从几分钟到几个小时。如果被等待的任务正处于 I/O 进程中,则该类型不指示发生问题。

BAD_PAGE_PROCESS
当后台错误页记录器正在尝试避免每隔五秒以上的时间运行时出现。

BROKER_RECEIVE_WAITFOR
当 RECEIVE WAITFOR 正在等待时出现。如果没有准备接收的消息,则通常出现该状态。

BROKER_TRANSMITTER
当 SQL Server 2005 Service Broker 传输代码中出现非常短暂的等待时出现。

BROKER_SHUTDOWN
当按计划关闭 Service Broker 时出现。该状态出现的时间应当尽量短暂。

BROKER_MASTERSTART
当某任务正在等待 Service Broker 的主事件处理程序启动时出现。该状态出现的时间应当非常短暂。

BROKER_EVENTHANDLER
当某任务正在 Service Broker 的主事件处理程序中等待时出现。出现时间应该非常短暂。

BROKER_REGISTERALLENDPOINTS
在初始化 Service Broker 连接端点的过程中出现。出现时间应该非常短暂。

BROKER_INIT
当初始化每个活动数据库中的 Service Broker 时出现。该状态不应当频繁出现。

BUILTIN_HASHKEY_MUTEX
仅供内部使用。

CHKPT
在服务器启动时出现以通知检查点线程可以启动。

CLR_AUTO_EVENT
当某任务当前正在执行公共语言运行时 (CLR) 执行并且正在等待特殊的自动事件启动时出现。

CLR_CRST
当某任务当前正在执行 CLR 执行并且正在等待输入当前由另一项任务正在使用的任务的关键部分时出现。

CLR_MANUAL_EVENT
当某任务当前正在执行 CLR 执行并且正在等待特定手动事件启动时出现。

CLR_MONITOR
当某任务当前正在执行 CLR 执行并且正在等待获取用于监视器的锁时出现。

CLR_RWLOCK_READER
当某任务当前正在执行 CLR 执行并且正在等待读取器锁时出现。

CLR_RWLOCK_WRITER
当某任务当前正在执行 CLR 执行并且正在等待编写器锁时出现。

CLR_TASK_JOIN
当某任务当前正在执行 CLR 执行并且正在等待另一项任务结束时出现。当两任务之间具有联接时出现该等待状态。

CLR_SEMAPHORE
当某任务当前正在执行 CLR 执行并且正在等待信号量时出现。

CMEMTHREAD
当某任务正在等待线程安全内存对象时出现。当多项任务尝试分配来自同一个内存对象的内存而导致出现争用时,便可能延长等待时间。

CXPACKET
当尝试同步查询处理器交换迭代器时出现。如果针对该等待类型的争用成为问题时,可以考虑降低并行度。

DEADLOCK_ENUM_MUTEX
当死锁监视器和 sys.dm_os_waiting_tasks 尝试确保 SQL Server 不同时运行多个死锁搜索时出现。

DEADLOCK_TASK_SEARCH
当某任务正在等待内部死锁监视器同步时出现。对于该等待类型的事件,死锁监视器在大多数时间都处于空闲状态。

DISABLE_VERSIONING
当 SQL Server 轮询版本事务管理器,以查看最早的活动事务的时间戳是否晚于状态开始更改时的时间戳时出现。如果是,则所有在 ALTER DATABASE 语句运行之前启动的快照事务都已完成。当 SQL Server 通过 ALTER DATABASE 语句禁用版本控制时使用该等待状态。

DISKIO_SUSPEND
当某任务正在等待访问文件(外部备份处于活动状态)时出现。针对每个正在等待的用户进程报告该状态。每个用户进程大于五的计数可能指示外部备份需要太长时间才能完成。

DROPTEMP
当某任务在连接处于死锁状态的情况下进入睡眠时出现。该任务将在每次(指数化)重试删除操作前进行等待。

DTC
当某任务正在等待用于管理状态转换的事件时出现。该状态控制当 SQL Server 接收到 Microsoft 分布式事务处理协调器 (MS DTC) 服务不可用的通知之后执行 MS DTC 事务恢复的时间。

该状态还说明在 SQL Server 启动了 MS DTC 事务提交并且 SQL Server 正在等待 MS DTC 提交完成时进行等待的任务。

DTC_ABORT_REQUEST
当 MS DTC 工作线程会话正在等待获得 MS DTC 事务的所有权时,在该会话中出现。当 MS DTC 拥有了事务后,该会话可以回滚事务。通常,该会话将等待另一个正在使用事务的会话。

DTC_RESOLVE
当恢复任务正在等待跨数据库事务中的 master 数据库以查询该事务的结果时出现。

DTC_STATE
当某任务正在等待对内部 MS DTC 全局状态对象的更改进行保护的事件时出现。该状态应当保持非常短的时间。

DTC_TMDOWN_REQUEST DTC_TMDOWN_REQUEST
当 SQL Server 接收到 MS DTC 服务不可用的通知时,在 MS DTC 工作线程会话中出现。首先,工作线程将等待 MS DTC 恢复进程启动。然后,工作线程等待获取其正在处理的分布式事务的结果。此过程可能一直执行,直到重新建立与 MS DTC 服务的连接。

DTC_WAITFOR_OUTCOME
当恢复任务等待 MS DTC 处于活动状态以启用准备好的事务的解决方法时出现。

DUMP_LOG_COORDINATOR
当主任务正在等待子任务生成数据时出现。该状态通常不会出现。长时间的等待指示出现意外的阻塞。应当对子任务进行调查。

ENABLE_VERSIONING
当 SQL Server 在声明数据库可以转换到 DBVER_ON 状态之前,等待该数据库中的所有更新事务完成时出现。当 SQL Server 通过 ALTER DATABASE 语句启用版本控制时使用该状态。

EXCHANGE
在同步查询处理器交换迭代器期间出现。很少发生。

EXECSYNC
在同步与交换迭代器无关的区域内的查询处理器期间出现。此类区域的示例包括位图、大型二进制对象 (LOB) 以及假脱机迭代器。LOB 可能经常使用该等待状态。位图和假脱机使用不应当导致争用。

FCB_REPLICA_READ
当同步快照(或 DBCC 创建的临时快照)稀疏文件的读取时出现。

FCB_REPLICA_WRITE
当同步快照(或 DBCC 创建的临时快照)稀疏文件的页推送或页请求时出现。

HTTP_ENDPOINT_COLLCREATE
在启动时出现以创建端点集合。

注意:
该状态并非特定于 HTTP。

HTTP_ENUMERATION
在启动时出现,以枚举 HTTP 端点以启动 HTTP。

IMPPROV_IOWAIT
当 SQL Server 等待 Bulkload I/O 完成时出现。

IO_AUDIT_MUTEX
仅供内部使用。

LATCH_DT
针对分布式事务闩锁的闩锁等待。它不包括缓冲区闩锁或事务标记闩锁。

LATCH_EX
针对排他闩锁的闩锁等待。不包括缓冲区闩锁或事务标记闩锁。

LATCH_KP
针对保留闩锁的闩锁等待。不包括缓冲区闩锁或事务标记闩锁。

LATCH_NL
针对空闩锁的闩锁等待。不包括缓冲区闩锁或事务标记闩锁。

LATCH_SH
针对共享闩锁的闩锁等待。不包括缓冲区闩锁或事务标记闩锁。

LATCH_UP
针对更新闩锁的闩锁等待。不包括缓冲区闩锁或事务标记闩锁。

LAZYWRITER_SLEEP
当惰性编写器被挂起时出现。正在等待的后台任务所用时间的度量值。在查找用户阻隔点所时不要考虑该状态。

LCK_M_BU
当某任务正在等待获取大容量更新锁时出现。

LCK_M_IS LCK_M_IU
当某任务正在等待获取意向共享锁时出现。

LCK_M_IU
当某任务正在等待获取意向更新锁时出现。

LCK_M_IX
当某任务正在等待获取意向排他锁时出现。

LCK_M_RIn_NL
当某任务正在等待获取当前键值上的 NULL 锁以及当前键和上一个键之间的插入范围锁时出现。键上的 NULL 锁是指立即释放的锁。

LCK_M_RIn_S
当某任务正在等待获取当前键值上的共享锁以及当前键和上一个键之间的插入范围锁时出现。

LCK_M_RIn_U
任务正在等待获取当前键值上的更新锁以及当前键和上一个键之间的插入范围锁。

LCK_M_RIn_X
当某任务正在等待获取当前键值上的排他锁以及当前键和上一个键之间的插入范围锁时出现。

LCK_M_RS_S
当某任务正在等待获取当前键值上的共享锁以及当前键和上一个键之间的共享范围锁时出现。

LCK_M_RS_U
当某任务正在等待获取当前键值上的更新锁以及当前键和上一个键之间的更新范围锁时出现。

LCK_M_RX_S
当某任务正在等待获取当前键值上的共享锁以及当前键和上一个键之间的排他范围锁时出现。

LCK_M_RX_U
当某任务正在等待获取当前键值上的更新锁以及当前键和上一个键之间的排他范围锁时出现。

LCK_M_RX_X
当某任务正在等待获取当前键值上的排他锁以及当前键和上一个键之间的排他范围锁时出现。

LCK_M_S
当某任务正在等待获取共享锁时出现。

LCK_M_SCH_M
当某任务正在等待获取架构修改锁时出现。

LCK_M_SCH_S
当某任务正在等待获取架构共享锁时出现。

LCK_M_SIU
当某任务正在等待获取共享意向更新锁时出现。

LCK_M_SIX
当某任务正在等待获取共享意向排他锁时出现。

LCK_M_U
当某任务正在等待获取更新锁时出现。

LCK_M_UIX
当某任务正在等待获取更新意向排他锁时出现。

LCK_M_X
当某任务正在等待获取排他锁时出现。

DBMIRROR_SEND
当某任务正在等待清除网络层的通信积压以便能够发送消息时出现。指示通信层正在开始重载并影响数据库镜像数据吞吐量。

重要事项:
Microsoft 支持策略不适用于 SQL Server 2005 的数据库镜像功能。根据默认设置,数据库镜像当前已被禁用,但通过使用跟踪标志 1400 作为启动参数可以启用该功能,该功能仅供评估使用。(有关跟踪标志的详细信息,请参阅跟踪标志 (Transact-SQL)。)不要在生产环境中使用数据库镜像,Microsoft 支持服务不支持使用数据库镜像的数据库或应用程序。在 SQL Server 2005 中包括数据库镜像文档仅供评估使用,SQL Server 2005 支持和升级文档策略不适用于数据库镜像文档。

DBMIRRORING_CMD
当某任务正在等待日志记录刷新到磁盘时出现。该等待状态应当保留较长的时间。

LOGBUFFER
当某任务正在等待日志缓冲区的空间以存储日志记录时出现。连续的高值可能指示日志设备无法跟上服务器生成的日志量。

LOGMGR
当某任务正在等待任何未完成的日志 I/O 在关闭日志之前完成时出现。

LOGMGR_FLUSH
仅供内部使用。

LOGMGR_RESERVE_APPEND
当某任务正在等待查看日志截断是否能释放日志空间以使该任务能写入新的日志记录时出现。

LOWFAIL_MEMMGR_QUEUE
当某任务正在从因内存不足而失败的队列中删除页时出现。

MSQL_DQ
当某任务正在等待分布式查询操作完成时出现。 使用该状态检测潜在的多个活动的结果集 (MARS) 应用程序死锁。该等待将在分布式查询调用完成时结束。

MSQL_XACT_MGR_MUTEX
当某任务正在等待获取会话事务管理器的所有权以执行会话级别事务操作时出现。互斥体用于同步同一个会话中不同线程的事务管理器对象的使用。

MSQL_XP
当某任务正在等待扩展存储过程结束时出现。SQL Server 使用该等待状态检测潜在的 MARS 应用程序死锁。该等待将在扩展存储过程调用结束时停止。

OLEDB
当 SQL Server 调用 Microsoft SQL Native Client OLEDB 访问接口时发生。该状态不用于同步。

PAGEIOLATCH_DT
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“破坏”模式。

PAGEIOLATCH_EX
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“独占”模式。

PAGEIOLATCH_KP
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“保持”模式。

PAGEIOLATCH_NL
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“空”模式。

PAGEIOLATCH_SH
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“共享”模式。

PAGEIOLATCH_UP
在任务等待 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“更新”模式。

PAGELATCH_DT
在任务等待 I/O 请求中缓冲区的闩锁时发生。闩锁请求处于“破坏”模式。

PAGELATCH_EX
在任务等待不处于 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“独占”模式。

PAGELATCH_KP
在任务等待不处于 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“保持”模式。

PAGELATCH_NL
在任务等待不处于 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“空”模式。

PAGELATCH_SH
在任务等待不处于 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“共享”模式。

PAGELATCH_UP
在任务等待不处于 I/O 请求中的缓冲区闩锁时发生。闩锁请求处于“更新”模式。

PRINT_ROLLBACK_PROGRESS
用于等待用户进程在已通过 ALTER DATABASE 终止子句完成转换的数据库中结束。有关详细信息,请参阅 ALTER DATABASE (Transact-SQL)。

PWAIT_QPJOB_WAITFOR_ABORT
指示异步统计信息自动更新在运行时通过调用 KILL 命令而取消。目前更新已完成,但是在终止线程消息协调完成之前一直于挂起状态。这是一个普通而少见的状态,应当非常短暂。正常情况下,该值不到一秒钟。

PWAIT_QPJOB_KILL
指示异步统计信息自动更新在开始运行时通过调用 KILL 命令而取消。终止线程处于挂起状态,等待它开始侦听 KILL 命令。正常情况下,该值不到一秒钟。

QRY_MEM_GRANT_INFO_MUTEX
当查询执行内存管理尝试控制对静态授予信息列表的访问时出现。该状态列出当前已批准的内存请求以及正在等待的内存请求的有关信息。该状态是一个简单的访问控制状态。该状态始终不应当等待较长的时间。如果未释放互斥体,则所有占用内存的新查询都将停止响应。

QUERY_NOTIFICATION_MGR_MUTEX
保护查询通知管理器中的垃圾收集队列。

QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX
基于每个订阅控制事务的互斥体。这表示每个订阅具有一个互斥体并使用该互斥体更改其事务状态。

QUERY_NOTIFICATION_TABLE_MGR_MUTEX
仅供内部使用。

QUERY_NOTIFICATION_UNITTEST_MUTEX
仅供内部使用。

SQLTRACE_BUFFER_FLUSH
当某任务正在等待后台任务将跟踪缓冲区每隔四秒刷新到磁盘时出现

这篇关于SQL SERVER 调优等待类型联机帮助的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875083

相关文章

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

[MySQL表的增删改查-进阶]

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 💻💻💻数据库约束 🔭🔭🔭约束类型 not null: 指示某列不能存储 NULL 值unique: 保证某列的每行必须有唯一的值default: 规定没有给列赋值时的默认值.primary key:

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就