博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查看Sql Server 数据库的内存使用情况
阅读量:6241 次
发布时间:2019-06-22

本文共 2362 字,大约阅读时间需要 7 分钟。

-- 查询SqlServer总体的内存使用情况select      type        , sum(virtual_memory_reserved_kb) VM_Reserved        , sum(virtual_memory_committed_kb) VM_Commited        , sum(awe_allocated_kb) AWE_Allocated        , sum(shared_memory_reserved_kb) Shared_Reserved        , sum(shared_memory_committed_kb) Shared_Commited        --, sum(single_pages_kb)    --SQL2005、2008        --, sum(multi_pages_kb)        --SQL2005、2008from    sys.dm_os_memory_clerksgroup by typeorder by type-- 查询当前数据库缓存的所有数据页面,哪些数据表,缓存的数据页面数量-- 从这些信息可以看出,系统经常要访问的都是哪些表,有多大?select p.object_id, object_name=object_name(p.object_id), p.index_id, buffer_pages=count(*) from sys.allocation_units a,     sys.dm_os_buffer_descriptors b,     sys.partitions p where a.allocation_unit_id=b.allocation_unit_id     and a.container_id=p.hobt_id     and b.database_id=db_id()group by p.object_id,p.index_id order by buffer_pages desc -- 查询缓存的各类执行计划,及分别占了多少内存-- 可以对比动态查询与参数化SQL(预定义语句)的缓存量select    cacheobjtype        , objtype        , sum(cast(size_in_bytes as bigint))/1024 as size_in_kb        , count(bucketid) as cache_countfrom    sys.dm_exec_cached_plansgroup by cacheobjtype, objtypeorder by cacheobjtype, objtype-- 查询缓存中具体的执行计划,及对应的SQL-- 将此结果按照数据表或SQL进行统计,可以作为基线,调整索引时考虑-- 查询结果会很大,注意将结果集输出到表或文件中SELECT  usecounts ,        refcounts ,        size_in_bytes ,        cacheobjtype ,        objtype ,        TEXTFROM    sys.dm_exec_cached_plans cp        CROSS APPLY sys.dm_exec_sql_text(plan_handle)ORDER BY objtype DESC ;GO

 

  原文:https://www.cnblogs.com/zhaoguan_wang/p/4602866.html

其他一些有帮助的语句:

1. 查看SQL语句占用多大内存:

SELECT s2.dbid, s1.sql_handle, (SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 , ( (CASE WHEN statement_end_offset = -1 THEN (LEN(CONVERT(nvarchar(max),s2.text)) * 2) ELSE statement_end_offset END) - statement_start_offset) / 2+1)) AS sql_statement,execution_count, plan_generation_num, last_execution_time, total_worker_time, last_worker_time, min_worker_time, max_worker_time,total_physical_reads, last_physical_reads, min_physical_reads, max_physical_reads, total_logical_writes, last_logical_writes, min_logical_writes, max_logical_writes FROM sys.dm_exec_query_stats AS s1 CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 WHERE s2.objectid is null ORDER BY s1.sql_handle, s1.statement_start_offset, s1.statement_end_offset;

 

转载于:https://www.cnblogs.com/wanghao4023030/p/8299478.html

你可能感兴趣的文章
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
Linux系统安装
查看>>
Cassandra监控 - OpsCenter手册
查看>>
一些关于写Java代码的建议
查看>>
网络社交如何保护个人隐私?做好这4步
查看>>
SQL*Plus中的Echo
查看>>
SEO基础知识8大精华文章之第一篇(连载)
查看>>
面向sql编程
查看>>
对前面的自定义的toast制作拖拽效果,以及双击居中效果
查看>>
如何规划构建一套大型的Citrix桌面虚拟化架构 - 后记
查看>>
animationFromTop
查看>>
SEM如何做数据分析?
查看>>
语音转文字如何在线转换的?
查看>>
PXE批量实现自动化安装系统
查看>>
tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
查看>>
为域用户创建漫游用户配置文件
查看>>
sql server 第二讲
查看>>