当前位置: 首页 > news >正文

[翻译]TempDB剩余空间监视与纠错

Q:是否有办法监视TempDB剩余空间?是否可以控制不同的应用程序被分配多少TempDB空间,或者创建多个TempDB?

A:
不幸的是SQL Server不提供以上的功能。但SQL Server可以使用DMV来检查当前查询TempDB空间分配。如果您发现TempDB剩余的空间相当少了,您可以找出消耗最大的查询,决定终止一个或几个查询来回收TempDB的空间。

您可以使用如下DMV查询:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
-- This DMV query shows currently executing tasks and 
--
 tempdb space usage
--
 Once you have isolated the task(s) that are generating lots 
--
 of internal object allocations, 
--
 you can even find out which TSQL statement and its query plan 
--
 for detailed analysis

select top 10
t1.session_id, 
t1.request_id, 
t1.task_alloc,
     t1.task_dealloc,  
    (
SELECT SUBSTRING(text, t2.statement_start_offset/2 + 1,
          (
CASE WHEN statement_end_offset = -1 
              
THEN LEN(CONVERT(nvarchar(max),text)) * 2 
                   
ELSE statement_end_offset 
              
END - t2.statement_start_offset)/2)
     
FROM sys.dm_exec_sql_text(sql_handle)) AS query_text,
 (
SELECT query_plan from sys.dm_exec_query_plan(t2.plan_handle)) as query_plan

from      (Select session_id, request_id,
sum(internal_objects_alloc_page_count +   user_objects_alloc_page_count) as task_alloc,
sum (internal_objects_dealloc_page_count + user_objects_dealloc_page_count) as task_dealloc
       
from sys.dm_db_task_space_usage 
       
group by session_id, request_id) as t1, 
       sys.dm_exec_requests 
as t2
where t1.session_id = t2.session_id and 
(t1.request_id 
= t2.request_id) and 
      t1.session_id 
> 50
order by t1.task_alloc DESC


该查询可以显示TempDB中消耗最高的查询。您也可以进一步查看查询计划来看查询在TempDB中申请的空间所派的用处。

转载于:https://www.cnblogs.com/galaxyyao/archive/2009/03/05/1403827.html

相关文章:

  • 面对流言,HDS要说:寒冬将至?未必如此!
  • 警惕匿名方法造成的变量共享
  • 原料是否能制约光伏产业的发展?
  • 温习static,sealed,abstract,virtual
  • 外媒:华为2013年就在为起诉三星做准备
  • Hibernate3.3配置日志文件详解
  • 浪潮董事长孙丕恕:网盘关闭是合理的,但会诞生新模式
  • 创建androidMenu菜单
  • 双向视频会议系统的需求分析
  • Christian Posta谈如何处理微服务的数据
  • ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)
  • Oracle数据库冷备份的还原及emca重建资料库
  • 航空乘客信息泄露咋那么容易?
  • ls命令编写
  • 智能家居老年监控市场规模将到2020年时增长将超过600%
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • [数据结构]链表的实现在PHP中
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Django 博客开发教程 16 - 统计文章阅读量
  • git 常用命令
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Java应用性能调优
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Linux各目录及每个目录的详细介绍
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Python利用正则抓取网页内容保存到本地
  • Python语法速览与机器学习开发环境搭建
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 读懂package.json -- 依赖管理
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 普通函数和构造函数的区别
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​Spring Boot 分片上传文件
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #13 yum、编译安装与sed命令的使用
  • #Ubuntu(修改root信息)
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (黑马C++)L06 重载与继承
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .apk 成为历史!
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)