私はシステムテーブルを見つけたり、いくつかの結合を行って私のサーバのすべてのデータベースのすべてのスキーマのすべてのテーブルのすべてのカラムを見つけることができるテーブルを取得しようとしています。SQL Server 2008のすべてのデータベース、スキーマ、テーブル、および列の情報を含むシステムテーブルまたはビュー?
私は学術目的でこれをやっているので、ストアドプロシージャや関数を使用することはできません。自分で作成する必要があります。
ポイントは、データベース名、スキーマ名、テーブル名を入力パラメータとして受け取り、格納されているすべての列のリストをスローするストアドプロシージャまたは関数を作成することです。ただし、テーブル名を受け取らない場合私は、指定されたデータベースとスキーマに含まれるすべてのテーブルのすべての列を一覧表示する必要があります。入力パラメータとしてスキーマ名も受け取らない場合は、指定したデータベース内のすべてのスキーマのすべてのテーブルのすべての列をリストする必要があります。
アイデア?私が言うように、私はこれを行うためにストアドプロシージャや関数を使用することはできません。
私は多くのシステムテーブルを見てきました、私は、文字列を形成しようとしたEXECは、ExecuteSQLでそれらを実行するが、非常に混乱になってきた、私はそれを – user1073816
を行うには良い方法があるはずと思い、私は考えていません典型的なシステム・カタログ・ビューのどれも現在のデータベースを超えます。したがって、**すべての**データベースが必要な場合は、データベースを繰り返し処理し、それぞれのシステムカタログビューを調べる必要があります –
この繰り返しは動的SQLを介してのみ可能ですか? – user1073816