2

SQL Server 2005 でデータベース自体の統計情報とメタデータを報告するシステム ストアド プロシージャはありますか?

私が必要としているのは、テーブルのリスト、各テーブルのサイズ、各テーブルの行数などを出力する簡単な方法です。個々のテーブルとメタデータのストアド プロシージャも役立ちます。

アドバイスをいただければ幸いです。

4

3 に答える 3

2

はい、データ ディクショナリ テーブルでこれを行うことができます。データ ディクショナリの主なテーブルは、sys.objectssys.columnssys.indexessys.foreign_keys 、およびsys.sql_modulesです。システム データ ディクショナリを使用してデータベースを SQL スクリプトにリバース エンジニアリングするさまざまなクエリの例については、このスタックオーバーフローの投稿をご覧ください。

領域使用量をデータ ディクショナリから取得するのは少し複雑ですが、sp_spaceusedは単一のテーブルに対してそれを行います。これをsp_msforeachtableでラップして、一連のテーブルを反復処理し、すべてのテーブルのレポートを取得できます。

于 2009-01-18T11:34:04.903 に答える
2

システム ビュー、特に information_schema.tables を見てください。これらのプロシージャーは、探している多くのデータも取得します。

sp_helpdb dbname
sp_help objectname
sp_spaceused tablename
于 2009-01-18T11:35:45.510 に答える
2

sysobjectsetc... テーブルを直接クエリする代わりに、INFORMATION_SCHEMAビューを使用できます。

実際、sysobjectsは ではテーブルでしたSQL SErver2000が、SQL 2005では として実装され、view後方互換性を維持するために保持されています。

于 2009-01-18T11:50:54.683 に答える