How to monitor tempdb in MS SQL
Error: tempdb is full due to active_transaction.
select
ss.[host_name],
ss.login_name,
ss.original_login_name,
ss.[status],
R.*
from(
SELECT COALESCE(T1.session_id, T2.session_id) [session_id] ,
T1.request_id ,
COALESCE(T1.database_id, T2.database_id) [database_id],
DB_NAME(COALESCE(T1.database_id, T2.database_id)) as Database_Name,
COALESCE(T1.[Total Allocation User Objects], 0) + T2.[Total Allocation User Objects] [Total Allocation User Objects (MB)] ,
COALESCE(T1.[Net Allocation User Objects], 0) + T2.[Net Allocation User Objects] [Net Allocation User Objects] ,
COALESCE(T1.[Total Allocation Internal Objects], 0) + T2.[Total Allocation Internal Objects] [Total Allocation Internal Objects (MB)] ,
COALESCE(T1.[Net Allocation Internal Objects], 0) + T2.[Net Allocation Internal Objects] [Net Allocation Internal Objects (MB)] ,
COALESCE(T1.[Total Allocation], 0) + T2.[Total Allocation] [Total Allocation (MB)] ,
COALESCE(T1.[Net Allocation], 0) + T2.[Net Allocation] [Net Allocation (MB)] ,
COALESCE(T1.[Query Text], T2.[Query Text]) [Query Text]
FROM (( SELECT TS.session_id,
TS.request_id,
TS.database_id,
CAST(TS.user_objects_alloc_page_count / 128. AS DECIMAL(15,2)) [Total Allocation User Objects] ,
CAST((TS.user_objects_alloc_page_count - TS.user_objects_dealloc_page_count) / 128. AS DECIMAL(15,2)) [Net Allocation User Objects] ,
CAST(TS.internal_objects_alloc_page_count / 128. AS DECIMAL(15,2)) [Total Allocation Internal Objects] ,
CAST((TS.internal_objects_alloc_page_count - TS.internal_objects_dealloc_page_count) / 128. AS DECIMAL(15,2)) [Net Allocation Internal Objects] ,
CAST((TS.user_objects_alloc_page_count + internal_objects_alloc_page_count) / 128. AS DECIMAL(15,2)) [Total Allocation] ,
CAST((TS.user_objects_alloc_page_count + TS.internal_objects_alloc_page_count - TS.internal_objects_dealloc_page_count - TS.user_objects_dealloc_page_count) / 128. AS DECIMAL(15,2)) [Net Allocation] ,
T.text [Query Text]
FROM sys.dm_db_task_space_usage TS
INNER JOIN sys.dm_exec_requests ER ON ER.request_id = TS.request_id AND ER.session_id = TS.session_id
OUTER APPLY sys.dm_exec_sql_text(ER.sql_handle) T
) T1
RIGHT JOIN
( SELECT SS.session_id,
SS.database_id,
CAST(SS.user_objects_alloc_page_count / 128. AS DECIMAL(15,2)) [Total Allocation User Objects] ,
CAST((SS.user_objects_alloc_page_count - SS.user_objects_dealloc_page_count)/ 128. AS DECIMAL(15, 2)) [Net Allocation User Objects] ,
CAST(SS.internal_objects_alloc_page_count / 128. AS DECIMAL(15,2)) [Total Allocation Internal Objects] ,
CAST((SS.internal_objects_alloc_page_count - SS.internal_objects_dealloc_page_count) / 128. AS DECIMAL(15, 2)) [Net Allocation Internal Objects] ,
CAST((SS.user_objects_alloc_page_count + internal_objects_alloc_page_count) / 128. AS DECIMAL(15, 2)) [Total Allocation] ,
CAST((SS.user_objects_alloc_page_count + SS.internal_objects_alloc_page_count - SS.internal_objects_dealloc_page_count - SS.user_objects_dealloc_page_count) / 128. AS DECIMAL(15, 2)) [Net Allocation] ,
T.text [Query Text]
FROM sys.dm_db_session_space_usage SS
LEFT JOIN sys.dm_exec_connections CN ON CN.session_id = SS.session_id
OUTER APPLY sys.dm_exec_sql_text(CN.most_recent_sql_handle) T
) T2 ON T1.session_id = T2.session_id)
) R
left join sys.dm_exec_sessions ss on R.session_id=ss.session_id
order by ss.status, [Total Allocation User Objects (MB)] desc
参考链接:https://www.mssqltips.com/sqlservertip/4356/track-sql-server-tempdb-space-usage/
How to monitor tempdb in MS SQL的更多相关文章
- MS SQL语句优化
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...
- 获取MS SQL TABLE列名列表
在MS SQL Server中,想获取表的所有列名,可以使用下面SQL语句: SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[Columns] WHER ...
- MS SQL SERVER 中的系统表
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行. 2 syscomments 包含每 ...
- 【MS SQL】通过执行计划来分析SQL性能
原文:[MS SQL]通过执行计划来分析SQL性能 如何知道一句SQL语句的执行效率呢,只知道下面3种: 1.通过SQL语句执行时磁盘的活动量(IO)信息来分析:SET STATISTICS IO O ...
- MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在
MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在 我们在写sql 脚本的时候经常会用到临时表,有时间也需要根据临时表是否存在做一些逻辑处理.还好sql server已经集 ...
- MS SQL数据批量备份还原(适用于MS SQL 2005+)
原文:MS SQL数据批量备份还原(适用于MS SQL 2005+) 我们知道通过Sql代理,可以实现数据库的定时备份功能:当数据库里的数据库很多时,备份一个数据库需要建立对应的定时作业,相对来说比较 ...
- MS SQL JSON类型type
在MS SQL Server 2016,已经支持JSON处理. 执行下面代码,将获取ms sql server对象类型以及其说明: IF OBJECT_ID('tempdb.dbo.#json_typ ...
- MS SQL Server的COALESCE函数
MS SQL Server的COALESCE函数是从一系列表达式中返回第一个NOT NULL的值. 检查[B],[Q],[S],[T],[U]的值: 检查顺序[B]->[Q]->[S]-& ...
- MS SQL server对象类型type
执行下面代码,将获取ms sql server对象类型以及其说明 IF OBJECT_ID('tempdb.dbo.#type') IS NOT NULL DROP TABLE #type CREAT ...
随机推荐
- React Native 入门基础知识总结
中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...
- μC/OS-II 中的任务管理
1. 任务的状态及其转换 睡眠状态: 任务在没有被配备任务控制块或被剥夺了任务控制块时的状态叫做任务的睡眠状态. 等待状态: 正在运行的任务,需要等待一段时间或需要等待一个事件发生再运行时,该任务就会 ...
- zepto的构造器$
在zepto中,通过$来构造对象 $ = function(selector, context){ return zepto.init(selector, context) } 由该函数,实际上,在调 ...
- 杭电ACM2000--ASCII码排序
ASCII码排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- sql语句求百分比
此sql语句包括了两个聚合函数做除法求百分比,并保留两位小数,直接输出字符串形式的百分比.以及对case when在聚合函数的应用. SELECT ss.SS_NAME,SS_ID, COUNT(ea ...
- [android] android下文件访问的权限
/**************2016年5月4日 更新**************************/ 知乎:android编程中写文件(例如a.txt)后存在手机哪个位置啊? 用FileOut ...
- 48.Linux-普通U盘以及多分区U盘自动挂载
在上章学习33.Linux-实现U盘自动挂载(详解)后,只是讲解了普通U盘挂载,并没有涉及到多分区U盘,接下来本章来继续学习 1.多分区U盘和普通U盘区别 1)U盘插上只会创建一个/dev/sda文件 ...
- 回客科技 面试的 实现ioc 容器用到的技术,简述BeanFactory的实现原理,大搜车面试的 spring 怎么实现的依赖注入(DI)
前言:这几天的面试,感觉自己对spring 的整个掌握还是很薄弱.所以需要继续加强. 这里说明一下spring的这几个面试题,但是实际的感觉还是不对的,这种问题我认为需要真正读了spring的源码后说 ...
- (6)Jquery1.8.3快速入门_过滤选择器
一.Jquery的基本过滤选择器: 基本过滤选择器: 1. :first 选取第一个元素 2. :last 选取最后一个元素 3.:not(selector) 去除所有与给定的选择器匹配的元素 4.: ...
- Maven(七)Eclipse使用Maven命令
由于没有mvn compile (其余命令类似) 可以点解上面框中选项手动输入compile