SQL Server 2005でデータベースメタデータをすばやく報告する方法はありますか?

StackOverflow https://stackoverflow.com/questions/454986

質問

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

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

アドバイスありがとうございます。

役に立ちましたか?

解決

はい、データディクショナリテーブルでこれを行うことができます。データディクショナリのメインテーブルは、 sys.objects sys.columns sys.indexes sys.foreign_keys および sys.sql_modules 。システムデータディクショナリを使用してデータベースをSQLスクリプトにリバースエンジニアリングするさまざまなクエリの例については、このstackoverflowの投稿。

データディクショナリからのスペース使用量の取得はもう少し複雑ですが、 sp_spaceused は1つのテーブルに対して実行します。これを sp_msforeachtable を繰り返し処理できます。テーブルのセットとすべてのテーブルのレポートを取得します。

他のヒント

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

sp_helpdb dbname
sp_help objectname
sp_spaceused tablename

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

実際、SQL SErver2000SQL 2005のテーブルでしたが、viewでは<=>として実装され、下位互換性を維持するために保持されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top