SQL SERVER-查看内存使用情况

 

--使用内存的各对象
SELECT
    type,
    sum(virtual_memory_reserved_kb) as VM_Reserved,
    sum(virtual_memory_committed_kb) as VM_Committed,
    sum(awe_allocated_kb)  as AWE_Allocated,
    sum(shared_memory_reserved_kb) as SM_Reserved,
    sum(shared_memory_committed_kb) as SM_Committed

from  sys.dm_os_memory_clerks
group by type
order by type 

 

 

--查看buffer pool中的各表所占内存
declare @name  nvarchar(100)
declare @cmd  nvarchar(1000)

declare dbnames cursor for
select name from master.dbo.sysdatabases  where  name='SDS_NONEDI_20190627'
open dbnames
fetch next from dbnames into  @name

while @@FETCH_STATUS=0
begin

print(@name)

set @cmd='select b.database_id,db=db_name(b.database_id),p.object_id,p.index_id,buffer_count=count(*) 
from '+@name+'.sys.allocation_units a,'+@name+'.sys.dm_os_buffer_descriptors b,'+@name+'.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('''+@name+''')
group by b.database_id,p.object_id,p.index_id
order by b.database_id,buffer_count desc'

print(@cmd)
exec(@cmd)
fetch next from dbnames into @name
end
close dbnames
deallocate dbnames 
go

 

查询具体的表格或索引

SELECT OBJECT_NAME(309576141)


SELECT * FROM sys.partitions where object_id=309576141

SELECT * FROM SYS.indexes WHERE object_id=309576141

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值