2009-01-18 47 views
2

是否有任何系統存儲過程在SQL Server 2005中報告數據庫本身的統計信息和元數據?有沒有一種快速的方式來報告SQL Server 2005中的數據庫元數據?

我需要的是一個快速的方式來輸出表的列表,每個表的大小,每個表中的行數等等。存儲個別表格和元數據的過程也是有用的。

建議感激。

+0

請參閱相關問題的表名:http://stackoverflow.com/questions/175415/how-do-i-get-list-of-all-tables-in-a-database-using-tsql – 2009-02-14 00:08:27

回答

2

是的,數據字典表會讓你這樣做。數據字典中的主表爲sys.objects,sys.columns,sys.indexes,sys.foreign_keyssys.sql_modules。有關使用系統數據字典將數據庫逆向工程化爲SQL腳本的各種查詢的示例,請參閱this stackoverflow posting.

從數據字典中獲取空間使用情況要稍微複雜一些,但sp_spaceused將做一張桌子。您可以使用sp_msforeachtable來包裝它以迭代一組表並獲取所有表的報告。

2

查看系統視圖,特別是information_schema.tables。這些特效還將獲得大量您正在查找的數據。

sp_helpdb dbname 
sp_help objectname 
sp_spaceused tablename 
2

而是直接查詢sysobjects等等的表,你可以使用INFORMATION_SCHEMA視圖。

事實上,sysobjects是一個表中SQL SErver2000,但在SQL 2005,它被實現爲view,並保持以保持向後兼容性。

相關問題