2013-10-10 37 views
0

我正在使用SQL Server 2012,在此我想获取关于多个数据表中的存储卷的信息。因此,我使用以下查询:SQL Server 2012 EXEC sp_spaceused系统表

USE msdb;         --DATABASE 
EXEC sp_spaceused 'people';--TABLENAME 

这只适用于我已定义的表。

但我怎么可以访问系统表像sys.trace_xe_action_map

回答

1

试试这个:

select sum(au.total_pages) 
from sys.system_internals_partitions p 
join sys.system_internals_allocation_units au 
    on au.container_id = p.partition_id 
where p.object_id = object_id('sys.trace_xe_event_map'); 
+0

我没有进入到SYS。命名空间 – Higune

+0

然后你没有权限去做你想做的事情。创建一个运行此查询的存储过程,请管理员检查它,批准它并为您签名。请参阅[模块签名](http://technet.microsoft.com/en-us/library/ms345102(v = sql.105).aspx)。 –

+0

感谢您的提示# – Higune