2009-08-23 24 views
10

私は、悪質な開発者から無造作でひどく文書化されていないサイトを継承しており、データベーススキーマを調べようとしています。残念ながら、ウェブホストは私がこれまでに処理した最悪のものであり、dbスキーマを表示したり、テーブルをエクスポートするためのコントロールパネル機能を持​​っていません。SQLクエリを介してSQL Serverスキーマを取得しますか?

私はSQLクエリ(これはASP + SQL Serverであろう)を介してスキーマを見ることができる方法はありますか?ここでの最終目標は、どのテーブルが存在しているかを確認し、重要なテーブルのSQLダンプを取得し、その全体を正しい方法で再作成することです。その上

SELECT * FROM INFORMATION_SCHEMA.TABLES 
SELECT * FROM INFORMATION_SCHEMA.VIEWS 

...と:

答えて

19

INFORMATION_SCHEMAスキーマを開始するには良い場所です。

また、SMOというAPIを使用して、SQL Serverのメタデータを取得することもできます。

+0

ありがとう、これは私が探していたものです。 – Jeff

+2

'SELECT * FROM INFORMATION_SCHEMA.COLUMNS'は非常に便利です。テーブル名と共にカラムの詳細を提供します。 – KSK

2

は私が

SHOW TABLES; 
DESCRIBE table_name; 
SHOW TABLE STATUS from table_name; 

のような単純なクエリは、MS SQLに有効であるかはわかりません。それらはまた役に立ちます

+1

彼らはそうではありません:) SELECT * FROM sys.objects WHERE type = 'U'などのようにいくつかの方法がありますが、悲しいことにMS SQLでは 'SHOW TABLES'はありません。 –

0

SchemaSpy http://schemaspy.sourceforge.net/は既存のデータベースを分析するための素晴らしいツールです。これは、テーブルや制約のHTMLリストと関係の図形表現を生成します

関連する問題