GO
/****** Object: StoredProcedure [dbo].[usp_GetTempDBUsedSpace] Script Date: 03/05/2014 13:24:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: SQL SERVER DMVS IN ACTIONS
-- Create date:
-- Description: 查看Tempdb数据库的空间使用情况
-- =============================================
ALTER PROCEDURE [dbo].[usp_GetTempDBUsedSpace]
AS
BEGIN SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
--========================================================== SELECT N'查看tempdb数据文件'
EXEC('
USE tempdb;
DBCC showfilestats
')
--========================================================== SELECT N'查看tempdb日志' DECLARE @T TABLE
(
DatabaseName NVARCHAR(200),
[LoginSize(MB)] FLOAT,
[LogSpceUsed(%)] FLOAT,
[Status] INT
)
INSERT INTO @T([DatabaseName],[LoginSize(MB)],[LogSpceUsed(%)],[Status])
EXEC('DBCC SQLPERF (LOGSPACE)')
SELECT * FROM @T T
WHERE T.DatabaseName='tempdb' --========================================================== SELECT N'查看Tempdb数据库的空间使用情况'
SELECT SUM(user_object_reserved_page_count
+ internal_object_reserved_page_count
+ version_store_reserved_page_count
+ mixed_extent_page_count
+ unallocated_extent_page_count) * (8.0/1024.0)
AS [TotalSizeOfTempDB(MB)]
, SUM(user_object_reserved_page_count
+ internal_object_reserved_page_count
+ version_store_reserved_page_count
+ mixed_extent_page_count) * (8.0/1024.0)
AS [UsedSpace (MB)]
, SUM(unallocated_extent_page_count * (8.0/1024.0))
AS [FreeSpace (MB)],
SUM(USER_object_reserved_page_count) * 8.0/1024 AS user_object_MB ,
SUM(internal_object_reserved_page_count) * 8.0/1024 AS internal_object_MB ,
SUM(version_store_reserved_page_count) * 8.0/1024 AS version_store_MB
FROM sys.dm_db_file_space_usage --========================================================== SELECT N'查看每个会话在tempdb数据库上的空间使用'
SELECT CAST(SUM(su.user_objects_alloc_page_count
+ su.internal_objects_alloc_page_count) * (8.0/1024.0)
AS DECIMAL(20,3)) AS [SpaceUsed(MB)]
, CAST(SUM(su.user_objects_alloc_page_count
- su.user_objects_dealloc_page_count
+ su.internal_objects_alloc_page_count
- su.internal_objects_dealloc_page_count)
* (8.0/1024.0) AS DECIMAL(20,3)) AS [SpaceStillUsed(MB)]
,SUM(su.user_objects_alloc_page_count) AS user_objects_alloc_page_count
,SUM(su.user_objects_dealloc_page_count) AS user_objects_dealloc_page_count
,SUM(su.internal_objects_alloc_page_count) AS internal_objects_alloc_page_count
,SUM(su.internal_objects_dealloc_page_count) AS internal_objects_dealloc_page_count
, su.session_id
, ec.connection_id
, es.login_name
, es.host_name
, st.text AS [LastQuery]
, ec.last_read
, ec.last_write
, es.program_name
FROM sys.dm_db_session_space_usage su
INNER JOIN sys.dm_exec_sessions es ON su.session_id = es.session_id
LEFT OUTER JOIN sys.dm_exec_connections ec
ON su.session_id = ec.most_recent_session_id
OUTER APPLY sys.dm_exec_sql_text(ec.most_recent_sql_handle) st
WHERE su.session_id > 50
GROUP BY su.session_id, ec.connection_id, es.login_name, es.host_name
, st.text, ec.last_read, ec.last_write, es.program_name
ORDER BY [SpaceStillUsed(MB)] DESC --========================================================== END

使用:

exec dbo.usp_GetTempDBUsedSpace

截图:

Tempdb--查看tempdb使用的脚本的更多相关文章

  1. 服务器端查看log的shell脚本

    持续过滤log脚本 服务器端持续查看log的shell脚本(其中path1和path2替换为路径特征名,“tail -f”后面接的路径替换为路径特征名所对应的log文件路径): #! /bin/sh ...

  2. SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)

    原文:SQL Server中的TempDB管理--TempDB基本知识(为什么需要版本存储区) 参考资料来自: http://blogs.msdn.com/b/sqlserverstorageengi ...

  3. 使用mysqladmin extended-status查看MySQL的运行状态脚本

    一个好用的使用mysqladmin extended-status查看MySQL的运行状态脚本: mysqladmin -P3306 -uroot -p -h127. -r -i extended-s ...

  4. (转)IBM AIX系统硬件信息查看命令(shell脚本)

    IBM AIX系统硬件信息查看命令(shell脚本) 原文:http://blog.itpub.net/22085031/viewspace-1054015/ 查看IBM AIX系统的主机型号.序列号 ...

  5. 一款查看mysql QPS的脚本

    本脚本黏贴就可以使用绝对不坑人!!! (此脚本来源如一位大神网友) 执行效果: 脚本: #!/bin/bashPW=Eqipay20150504@mysqladmin -P3306 -uroot -p ...

  6. Sql Server查看死锁及堵塞脚本

    --每秒死锁数量 SELECT * FROM sys.dm_os_performance_counters WHERE counter_name LIKE 'Number of Deadlocksc% ...

  7. sqlserver查看死锁进程工具脚本p_lockinfo

    /* -- 处理死锁 -- 查看当前进程,或死锁进程,并能自动杀掉死进程 -- 因为是针对死的,所以如果有死锁进程,只能查看死锁进程 -- 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 ...

  8. Hadoop查看目录文件大小的脚本

    hadoop fs -du / | awk '{ sum=$1 ;dir2=$3 ; hum[1024**3]="Gb";hum[1024**2]="Mb";h ...

  9. 查看指定spid的脚本当前运行情况和状态

    USE MasterGO declare @spid int; select @spid = 419--null:all ; ;WITH DATA(spid,blockRelationship,blo ...

  10. oracle 查看表空间的脚本

    SELECT upper(f.tablespace_name) "表空间名", d.Tot_grootte_Mb "表空间大小(M)", d.Tot_groot ...

随机推荐

  1. solr之高级查询--联表 join查询

    例如有两个业务表:文章表,评论表 . 场景: 一个文章可以由多个人评论. 创建两个core,一个core叫article,一个叫comment.article实例的schema.xml文件中定义几个简 ...

  2. [代码]set容器查找操作使用

    对于set容器来说,查找功能是该容器的主要优势,故针对该容器查找功能作一测试. 主要有如下API接口: 测试源码如下: #include<set> void test(){ set< ...

  3. maven settings.xml 文件

    指定jdk 的版本: <profile> <id>jdk-1.8</id> <activation> <activeByDefault>tr ...

  4. 实战zabbix3.0.2 使用percona mysql插件监控mysql5.7

    1.系统环境 [root@shard0 templates]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 ...

  5. ORM是什么?如何理解ORM?

    一.ORM简介         对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使 ...

  6. 39. Combination Sum (Back-Track)

    Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher ...

  7. CentOS错误

    centos下yum lock的解决办法 Another app is currently holding the yum lock; waiting for it to exit... 解决办法:  ...

  8. Write File

    Write to File with C++ #include <iostream.h> #include <fstream.h> int main() { const cha ...

  9. Pwdump v7.1

    提取windows系统密码  和 hash值

  10. C#的链表操作[数据结构-线性表]

    链式存储结构图解: 上图中,a1,是数据,紧跟着后面的d1是下一个节点的地址值.也就是一个节点的最后存储的是下一个节点的地址值,最后一个节点的存储的下一个地址值是null,代表链表结束. 1,定义链表 ...