簡單統計SQLSERVER用戶數據表大小(包括記錄總數和空間佔用狀況)

在SQLSERVER,簡單的組合 sp_spaceused和sp_MSforeachtable這兩個存儲過程,能夠方便的統計出用戶數據表的大小,包括記錄總數和空間佔用狀況,很是實用,在SqlServer2K和SqlServer2005中都測試經過。另外還有 sp_MSforeachdb能夠遍歷全部數據庫,使用方法詳見SQL幫助。
/*
1. exec sp_spaceused '表名'            (SQL統計數據,大量事務操做後可能不許)
2. exec sp_spaceused '表名', true       (更新表的空間大小,準確的表空大小,但可能會花些統計時間)
3. exec sp_spaceused                    (數據庫大小查詢)
4. exec sp_MSforeachtable "exec sp_spaceused '?'"     (全部用戶表空間表小,SQL統計數據,,大量事務操做後可能不許)
5. exec sp_MSforeachtable "exec sp_spaceused '?',true"    (全部用戶表空間表小,大數據庫慎用)
*/

create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20))
exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'" 
select * from #t
drop table #t

另外還有sp_MSforeachdb能夠遍歷全部數據庫,使用方法詳見SQL幫助。web

專一數據庫技術,學以至用。
相關文章
相關標籤/搜索