2009-08-23 19 views
10

He heredado un sitio torpe y horriblemente no documentado de un mal desarrollador y estoy tratando de echarle un vistazo al esquema de la base de datos. Lamentablemente, el host web es el peor con el que he tratado y no tiene capacidad de panel de control para ver el esquema db o incluso para exportar tablas.Obtener el esquema de SQL Server a través de una consulta SQL?

¿Hay alguna manera de que pueda ver el esquema a través de una consulta SQL (esto sería con ASP + SQL Server)? Mi objetivo final aquí es ver qué tablas existen, posiblemente obtener un volcado SQL de las tablas vitales y luego recrear todo de la manera correcta.

Respuesta

19

El INFORMATION_SCHEMA esquema es un buen lugar para empezar:

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

... y así sucesivamente.

Es posible que también desee echarle un vistazo al uso de SMO, una API para acceder a los metadatos en SQL Server.

+0

Gracias, esto es precisamente lo que estaba buscando. – Jeff

+2

'SELECT * FROM INFORMATION_SCHEMA.COLUMNS' es muy útil. Proporciona detalles de las columnas junto con el nombre de la tabla. – KSK

2

no estoy seguro de si las consultas simples como

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

son válidos en MS SQL. También serían útiles

+1

No están :) Hay algunas otras formas, como 'SELECT * FROM sys.objects WHERE type = 'U'' y así sucesivamente, pero no' SHOW TABLES' en MS SQL, por desgracia. –

0

SchemaSpy http://schemaspy.sourceforge.net/ es una gran herramienta para analizar las bases de datos existentes. Genera listas html de tablas y restricciones, así como una representación gráfica de las relaciones

Cuestiones relacionadas