是否有任何系統存儲過程在SQL Server 2005中報告數據庫本身的統計信息和元數據?有沒有一種快速的方式來報告SQL Server 2005中的數據庫元數據?
我需要的是一個快速的方式來輸出表的列表,每個表的大小,每個表中的行數等等。存儲個別表格和元數據的過程也是有用的。
建議感激。
是否有任何系統存儲過程在SQL Server 2005中報告數據庫本身的統計信息和元數據?有沒有一種快速的方式來報告SQL Server 2005中的數據庫元數據?
我需要的是一個快速的方式來輸出表的列表,每個表的大小,每個表中的行數等等。存儲個別表格和元數據的過程也是有用的。
建議感激。
是的,數據字典表會讓你這樣做。數據字典中的主表爲sys.objects,sys.columns,sys.indexes,sys.foreign_keys和sys.sql_modules。有關使用系統數據字典將數據庫逆向工程化爲SQL腳本的各種查詢的示例,請參閱this stackoverflow posting.
從數據字典中獲取空間使用情況要稍微複雜一些,但sp_spaceused將做一張桌子。您可以使用sp_msforeachtable來包裝它以迭代一組表並獲取所有表的報告。
查看系統視圖,特別是information_schema.tables。這些特效還將獲得大量您正在查找的數據。
sp_helpdb dbname
sp_help objectname
sp_spaceused tablename
而是直接查詢sysobjects
等等的表,你可以使用INFORMATION_SCHEMA
視圖。
事實上,sysobjects
是一個表中SQL SErver2000
,但在SQL 2005
,它被實現爲view
,並保持以保持向後兼容性。
請參閱相關問題的表名:http://stackoverflow.com/questions/175415/how-do-i-get-list-of-all-tables-in-a-database-using-tsql – 2009-02-14 00:08:27