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

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3