2009-08-23 7 views
10

J'ai hérité d'un mauvais développeur et j'essaie de jeter un coup d'œil sur le schéma de la base de données. Malheureusement, l'hébergeur est le pire que j'aie jamais connu et il n'a aucune capacité de panneau de contrôle pour visualiser le schéma db ou même exporter des tables.Obtenir le schéma SQL Server via une requête SQL?

Est-il possible de voir le schéma via une requête SQL (avec ASP + SQL Server)? Mon but final ici est de voir quelles tables existent, éventuellement d'obtenir un vidage SQL des tables vitales, puis de recréer le tout de la bonne façon.

Répondre

19

Le schéma INFORMATION_SCHEMA est un bon endroit pour commencer:

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

... et ainsi de suite.

Vous pouvez également utiliser SMO, une API pour obtenir les métadonnées dans SQL Server.

+0

Merci, c'est précisément ce que je cherchais. – Jeff

+2

'SELECT * FROM INFORMATION_SCHEMA.COLUMNS' est très utile. Il fournit des détails sur les colonnes ainsi que le nom de la table. – KSK

2

Je ne suis pas sûr si les requêtes simples comme

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

sont valables dans MS SQL. Ils seraient également utiles

+1

Ils ne sont pas :) Il existe quelques autres façons, comme 'SELECT * FROM sys.objects WHERE type = 'U' et ainsi de suite, mais pas de" SHOW TABLES "dans MS SQL, malheureusement. –

0

SchemaSpy http://schemaspy.sourceforge.net/ est un excellent outil pour analyser les bases de données existantes. Il génère des listes html de table et de contraintes ainsi qu'une représentation graphique des relations

Questions connexes