tempdb 表空间监控
来源:互联网 发布:linux压缩包命令 编辑:程序博客网 时间:2024/06/05 18:50
--监测谁用了SQL Server的Tempdb空间select * from sys.dm_db_file_space_usagetempdb的空间是被哪一块对象使用掉的?是用户对象(user_object_reserved_page_count字段),还是系统对象(internal_object_reserved_page_count字段),还是版本存储区(version_store_reserved_page_count字段)。用户对象(user_object_reserved_page_count)用户对象由用户显式创建。这些对象可以位于用户会话的作用域中,也可位于创建对象所用例程的作用域中。 可以是存储过程、触发器或用户定义函数。 用户对象可以是下列项之一:•用户定义的表和索引•系统表和索引•全局临时表和索引•局部临时表和索引•table 变量•表值函数中返回的表内部对象(internal_object_reserved_page_count)内部对象是根据需要由 SQL Server 数据库引擎创建的,用于处理 SQL Server 语句。 内部对象可以在语句的作用域中创建和删除。 内部对象可以是下列项之一:•用于游标。•用于哈希联接或哈希聚合操作的查询。•某些 GROUP BY、ORDER BY 或 UNION 查询的中间排序结果。版本存储(version_store_reserved_page_count)版本存储区主要用来支持Snapshot事务隔离级别,以及SQL 2005以后推出的一些其他提高数据库并发度的新功能。监视和发现当前的Tempdb使用者:总的思路:先用“dbcc showfilestats”语句查询当前tempdb的总体使用量。再查询sys.dm_db_file_space_usage视图,得到Tempdb里当前总共有多少用户对象、内部对象、以及版本存储。然后查询sys.dm_db_session_space_usage和sys.dm_exec_sessions,找到当前使用Tempdb的所有连接。最后通过sys.dm_exec_sql_text,找到这些连接正在运行的语句。1、dbcc showfilestats 2、-- 返回所有做过空间申请的session信息Select 'Tempdb' as DB, getdate() as Time, SUM (user_object_reserved_page_count)*8 as user_objects_kb, SUM (internal_object_reserved_page_count)*8 as internal_objects_kb, SUM (version_store_reserved_page_count)*8 as version_store_kb, SUM (unallocated_extent_page_count)*8 as freespace_kb From sys.dm_db_file_space_usage Where database_id = 2 3、-- 这个管理视图能够反映当时tempdb空间的总体分配SELECT t1.session_id, t1.internal_objects_alloc_page_count, t1.user_objects_alloc_page_count,t1.internal_objects_dealloc_page_count , t1.user_objects_dealloc_page_count,t3.*from sys.dm_db_session_space_usage t1 , -- 反映每个session累计空间申请sys.dm_exec_sessions as t3 -- 每个session的信息where t1.session_id = t3.session_id and (t1.internal_objects_alloc_page_count>0 or t1.user_objects_alloc_page_count >0or t1.internal_objects_dealloc_page_count>0 or t1.user_objects_dealloc_page_count>0)4、-- 返回正在运行并且做过空间申请的session正在运行的语句SELECT t1.session_id, st.text from sys.dm_db_session_space_usage as t1, sys.dm_exec_requests as t4 CROSS APPLY sys.dm_exec_sql_text(t4.sql_handle) AS st where t1.session_id = t4.session_id and t1.session_id >50 and (t1.internal_objects_alloc_page_count>0 or t1.user_objects_alloc_page_count >0or t1.internal_objects_dealloc_page_count>0 or t1.user_objects_dealloc_page_count>0) ---可以通过增加 数据库内存使用量 或 增加 tempdb库的 数据文件(组)来解决 TEMPDB 的性能
- tempdb 表空间监控
- --------------------TEMPDB数据库的空间问题--------------------------------------
- sql server tempdb 空间释放
- 监控Undo表空间
- 监控表空间使用率
- Oracle表空间监控
- (shell)表空间监控
- Sybase 临时数据库tempdb空间不足解决办法
- sybase ASE tempdb 空间不足解决办法
- sybase数据库tempdb空间满故障解决
- Oracle 定期监控之一:表空间监控
- 监控表空间利用,数据文件
- [DB]ORACLE监控表空间
- oracle 表空间使用率监控
- 监控数据库表空间使用率
- 表空间与数据文件监控
- sybase——tempdb空间不足导致数据库事务挂起
- 如何监测谁用了SQL Server的Tempdb空间?
- js动态给table添加行(tr)
- win7 下打开 ice demo 工程文件出错的问题解决方法
- C# 设计模式之 状态模式
- ASP.NET必须知道的:HttpModule,HttpHandler
- 使用 window.name 解决跨域问题
- tempdb 表空间监控
- C++ 私有、保护、公有继承
- MODIS数据说明
- 自定义消息机制研究学习(二)——做一些改动,定制自己的消息机制
- Weblogic WLST scripting memo
- 应用服务器发生 hang 的诊断方法
- android_java中图片占用内存大小问题
- MODIS数据产品介绍
- js自定义消息机制研究学习(三)——插件化我们js开发