2013-10-10 34 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