2009-08-23 16 views
10

Ho ereditato un sito goffo e orribilmente non documentato da uno sviluppatore non valido e sto cercando di dare un'occhiata allo schema del database. Sfortunatamente l'host web è il peggiore che abbia mai affrontato e non ha capacità di pannello di controllo per visualizzare lo schema db o anche esportare tabelle.Ottieni lo schema di SQL Server tramite una query SQL?

C'è un modo per ottenere uno sguardo allo schema tramite una query SQL (questo sarebbe con ASP + SQL Server)? Il mio obiettivo finale qui è vedere quali tabelle esistono, possibilmente ottenere un dump SQL delle tabelle vitali e quindi ricreare l'intera cosa nel modo giusto.

risposta

19

Il INFORMATION_SCHEMA schema è un buon punto di partenza:

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

... e così via.

Si potrebbe anche voler dare un'occhiata all'utilizzo di SMO, un'API per ottenere i metadati in SQL Server.

+0

Grazie, questo è esattamente quello che stavo cercando. – Jeff

+2

'SELECT * FROM INFORMATION_SCHEMA.COLUMNS' è molto utile. Fornisce i dettagli delle colonne insieme al nome della tabella. – KSK

2

non sono sicuro se le query semplici come

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

sono validi in MS SQL. Sarebbero anche utili

+1

Non lo sono :) Ci sono alcuni altri modi, come 'SELECT * FROM sys.objects WHERE type = 'U'' e così via, ma no' SHOW TABLES' in MS SQL, purtroppo. –

0

SchemaSpy http://schemaspy.sourceforge.net/ è un ottimo strumento per l'analisi dei database esistenti. Genera liste html di tabelle e vincoli, nonché una rappresentazione grafica delle relazioni

Problemi correlati