位置: 编程技术 - 正文

SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)(sql server应用)

编辑:rootadmin

推荐整理分享SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)(sql server应用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserverssms,sqlserver ssis,sqlserver sid,sql server ssrs,sqlserver ssis,sqlserverssms,sqlserverssms,sqlserverssms,内容如对您有帮助,希望把文章链接给更多的朋友!

很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等待那么有什么区别呢....

    废话不多说直接开整.

    测试版本

    sys.dm_os_waiting_tasks 的字段说明:

waiting_task_address

varbinary(8)

等待任务的地址。

session_id

smallint

与任务关联的会话的 ID。

exec_context_id

int

与任务关联的执行上下文的 ID。

wait_duration_ms

int

此等待类型的总等待时间(毫秒)。此时间包含 signal_wait_time。

wait_type

nvarchar()

等待类型的名称。

resource_address

varbinary(8)

任务等待的资源的地址。

SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)(sql server应用)

blocking_task_address

varbinary(8)

当前持有此资源的任务。

blocking_session_id

smallint

正在阻塞请求的会话的 ID。如果此列为 NULL,则表示请求未被阻塞,或锁定会话的会话信息不可用(或无法进行标识)。

-2 = 阻塞资源由孤立的分布式事务拥有。

-3 = 阻塞资源由延迟的恢复事务拥有。

-4 = 由于内部闩锁状态转换而无法确定阻塞闩锁所有者的会话 ID。

blocking_exec_context_id

int

正在阻塞的任务的执行上下文 ID。

做个小例子:  

    查询sys.dm_os_waiting_tasks 的结果,udate :session , select : session ,如图开一看到session 中出现了

条等待(虚机给了双核4线程),那么可以看出wait_type 为LCK_M_S的有四条,这个可以理解是开并行起了四个线程要扫描表t1全部等待状态,从 resource_description 字段信息中我们看一下是否是T1表的等待。        

    

     从”ridlock fileid=1 pageid= dbid=7 id=lock1fc mode=X associatedObjectId=“ 这个信息中我们知道ridlock fileid=1 pageid= dbid=7   

    dbcc traceon ()    dbcc page(7,1,,3)

    

确定了LCK_M_S的四条确实是扫描表所产生的等待,那么其他的CXPACKET等待是什么鬼? 从规律中可以看出CXPACKET等待的分成四组每一组4条 exec_context_id分别是 5,6,7,8(四个等待扫表的线程),还有一个上图中的第十三行“exchangeEvent id=Port1fe7a WaitType=e_waitPortOpen nodeId=0” 应该是调度的线程。

    sys.dm_os_waiting_tasks里在并行计划的执行中出现了 CXPACKET 和 LCK_M_S 那么我们来看一下 sys.dm_exec_requests 里是如何显示的(这里只取出试验用的字段)

    

    blocking_session_id 竟然是0 , wait_type 竟然是CXPACKET(并行等待,我们知道主要的等待原因不是这个),另外观察 发现这里面抓取的TASK_ADDRESS 是调度线程。经过其他实验得知 sys.dm_exec_requests 在并行的等待中无法获得真正的等待类型和资源。如果取消并行,执行一个串行计划两个视图得到的结果是一样的。

    例子中我们看出了sys.dm_exec_requests 和sys.dm_os_waiting_tasks 在实际使用中关于并行的区别,但不单单只有这一个疑问,4线程并行计划为什么一下会出现条等待?并行计划怎么执行的? 我们下篇继续说....

SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(中) 通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上),说了一下sys.dm_exec_requests和sys.dm_os_waiting_tasks在获取并行等待的时候得不同结

SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(下) sys.dm_os_waiting_tasks引发的疑问(下)前面写了两篇了,其实不光是说sys.dm_os_waiting_tasks的应用,研究了挺长时间的并行,自己有了一些理解,所以分享出来

SQL Report Builder 报表里面的常见问题分析 一SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B)=A/iif(B=0,,B)但是我们不能这么写

标签: sql server应用

本文链接地址:https://www.jiuchutong.com/biancheng/312848.html 转载请保留说明!

上一篇:图文教程mssqlserver数据库导出到另外一个数据库的方法(mssql使用教程)

下一篇:SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(中)(sql server ssrs)

  • 公司减免社保到几月份
  • 餐饮流水账表格excel
  • 报表中的存货是如何填报的
  • 有限合伙企业要交增值税吗
  • 个人所得税本期免税收入是指什么
  • 税务局返还的三种税种
  • 车间用的电线计入什么科目
  • 30万的车税可以抵多少
  • 购进财务软件折旧怎么算
  • 外购固定资产账务处理
  • 产品售后维修产品介绍
  • 承兑汇票的贴现费用怎么计算
  • 银行汇兑怎么做账
  • 印花税少提了怎么办
  • 应付职工薪酬包括个税吗
  • 购销合同印花税怎么算
  • 物业公司收入需要公示
  • 其他综合收益是利润表项目吗
  • 小规模纳税人是简易计税吗
  • 金税盘非征期汇总资料未报送
  • 公司房租押金收不回来账务处理
  • 1697509110
  • 退税指导
  • 农产品收购销售免税吗
  • 补缴纳以前年度企业所得税税率如何论定
  • macbookpro怎么添加文件夹
  • 签证费会计分录
  • 以前年度应收账款无法收回
  • windowsserver2019安装教程
  • php技巧
  • 支付宝消费计入什么科目
  • 视同销售的八种情况下会计分录怎么做?
  • elementuiicon
  • 微信php开发教程
  • linux递归创建目录命令
  • 提高支票处理效率的有效方法是
  • 合同负债和预收负债的区别
  • 个人所得税部分缴纳
  • php session_id
  • vue全局组件和局部组件
  • php安装openssl扩展
  • 公司的银行账号是不是和个人账号不一样
  • 按25%计算应交所得税
  • 借受托代销商品贷受托代销商品款
  • 未使用固定资产有哪些
  • 合并会计报表合并范围
  • mysql 自动重启
  • 投资性房地产出售收入属于什么收入
  • 普惠性幼儿园是公立还是私立的?
  • 开红字发票做账时记账凭证上如何写摘要?
  • 根据出库商品的编码
  • 工伤保险交了就可以报销吗
  • 厂家返利怎么入账
  • 购买国家机关证件罪量刑标准
  • 修缮服务指什么
  • 存出投资款应计入什么科目
  • 利得与损失的四种类型
  • 怎么开劳务派遣工作证明
  • mysql -ne
  • win10的svchost干什么的
  • ubuntu下载net-tools
  • centos怎么设置
  • The file /boot/grub/stage1 not read cor 解决办法
  • xp更改远程端口
  • win8系统升级win8.1
  • 关于自定义工作台的说法,正确的是
  • python线程池最大数量
  • js 单引号
  • python中的字典与列表属于什么类型
  • js限制输入字符长度
  • 利用python绘图
  • 如何修改新建的内容
  • android 自定义style
  • 苗木增值税发票税率
  • 利息发票可以抵扣进项税额吗
  • 乡镇地税局待遇
  • 小规模年度财务报表
  • 公司欠税款,还不上,怎么办
  • csc联合培养博士资助标准
  • 精神残疾人员是残疾人吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设