查看SQL SERVER中某个查询用了多少TempDB空间
类别:数据库 浏览量:291
时间:2016-6-26 查看SQL SERVER中某个查询用了多少TempDB空间
查看SQL SERVER中某个查询用了多少TempDB空间一、TempDB系统数据库的理解
1、tempdb是SQL Server的系统数据库一直都是SQL Server的重要组成部分,用来存储临时对象。应用程序与数据库都可以使用tempdb作为临时的数据存储区。一个实例的所有用户都共享一个Tempdb,当多个应用程序的数据库部署在同一台服务器上的时候,应用程序共享tempdb,如果开发人员不注意对Tempdb的使用就会造成这些数据库相互影响从而影响应用程序。
2、tempdb全局存储内部对象,用户对象,临时表,临时对象,以及SQL Server操作创建的存储过程。每个数据库实例只有一个tempdb,所以可能存在性能以及磁盘空间瓶颈。各种形式的可用空间及过度的DDL/DML操作都会导致tempdb负载过重。这会导致运行在服务器上不相干程序运行缓慢或者运行失败。
3、在SQL Server中,TempDB主要负责
(1)、内部使用(排序、hash join、work table等)
一些比较复杂的查询中由于涉及到了大量的并行、排序等操作时就需要大量的内存空间,每一个查询在开始时都会由SQL Server预估需要多少内存,在具体的执行过程中,如果授予的内存不足,则需要将多出来的部分由TempDB处理
(2)、外部使用(临时表,表变量等)
(3)、行版本控制(乐观并发控制)
二、查看SQL SERVER中某个查询用了多少TempDB空间
DECLARE @read BIGINT,
@write BIGINT
;
SELECT @read = SUM(num_of_bytes_read),
@write = SUM(num_of_bytes_written)
FROM tempdb.sys.database_files AS DBF
JOIN sys.dm_io_virtual_file_stats(2, NULL) AS FS
ON FS.file_id = DBF.file_id
WHERE DBF.type_desc = 'ROWS'
--这里放入需要测量的语句
SELECT tempdb_read_MB = (SUM(num_of_bytes_read) - @read) / 1024. / 1024.,
tempdb_write_MB = (SUM(num_of_bytes_written) - @write) / 1024. / 1024.,
internal_use_MB =
(
SELECT internal_objects_alloc_page_count / 128.0
FROM sys.dm_db_task_space_usage
WHERE session_id = @@SPID
)
FROM tempdb.sys.database_files AS DBF
JOIN sys.dm_io_virtual_file_stats(2, NULL) AS FS
ON FS.file_id = DBF.file_id
WHERE DBF.type_desc = 'ROWS'
标签:SQL SERVER
您可能感兴趣
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- 怎么开放sql server端口(SQLServer2019配置端口号的实现)
- microsoftsqlserver官网(Microsoft SQL Server数据库各版本下载地址集合)
- sqlserver表分区缺点(SQL Server 公用表表达式CTE实现递归的方法)
- sql server中的逻辑读、物理读和预读
- SQL Server中对列的权限设置
- navicat不能连接到mysql报错2013(Navicat连接SQL Server数据:报错08001-命名管道提供程序的完美解决方法)
- SQL Server遍历表中记录的方法
- 2021-10-28 10:49:05
- sql server表字段数据类型(SQL Server数据库中伪列及伪列的含义详解)
- sqlserver模糊查询使用定义的字段(SQL Server模糊查询的常见方法总结)
- 无法打开sql server的连接(由于系统错误 126 SQL Server,指定驱动程序无法加载)
- sqlserver数据库文件包括(详解SQL Server数据库状态和文件状态)
- sql server2012自动备份(SQL SERVER 2012数据库自动备份的方法)
- sqlserver函数条件判断(Sql Server 开窗函数Over的使用实例详解)
- sql server事务回滚(SQL Server 添加Delete操作回滚日志方式)
- 数读 买首饰金是 投资黄金 吗 买金容易卖金难(数读买首饰金是)
- 销 售 买 卖 你真的了解这四个字了吗(销售买)
- 谢娜是得罪快乐大本营造型师了吗 全场被黑化(谢娜是得罪快乐大本营造型师了吗)
- 前《iLOOK》时装总监 《快乐大本营》御用造型师上线(快乐大本营御用造型师上线)
- 释小龙晒杀青照片 多重身份惹观众期待(释小龙晒杀青照片)
- 《九牛之人降魔传》开机 演员祁高坤化身九牛之人除魔卫道(九牛之人降魔传开机)
热门推荐
- mysql有哪些约束(MySQL完整性约束的定义与实例教程)
- 使用TLS加密通讯远程连接Docker的示例详解(使用TLS加密通讯远程连接Docker的示例详解)
- python基础教学之125 装饰器简介(python3 property装饰器实现原理与用法示例)
- jquery中change()
- vue路由跳转的方法(Vue路由监听实现同页面动态加载的示例)
- python爬虫入门自学(自学python爬虫的建议和周期预算)
- laravel检查关联模型(Laravel 关联模型-关联新增和关联更新的方法)
- python pandas 匹配值(python 使用pandas计算累积求和的方法)
- docker 增大mysql连接数(docker中修改mysql最大连接数及配置文件的实现)
- asp.net将ppt文档转换成pdf
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9