2009-08-23 2 views
10

Я унаследовал неуклюжий и ужасно незарегистрированный сайт от плохого разработчика и пытаюсь взглянуть на схему базы данных. К сожалению, веб-хост является худшим, с чем я когда-либо сталкивался, и не имеет возможности панели управления для просмотра схемы db или даже экспорта таблиц.Получить схему SQL Server с помощью SQL-запроса?

Есть ли способ, которым я могу взглянуть на схему с помощью SQL-запроса (это будет с ASP + SQL Server)? Моя конечная цель заключается в том, чтобы увидеть, какие таблицы существуют, возможно получить SQL-дамп жизненно важных таблиц, а затем воссоздать все правильно.

ответ

19

INFORMATION_SCHEMA схема является хорошим местом для начала:

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

... и так далее.

Возможно, вам также стоит взглянуть на использование 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'' и т. Д., Но не' SHOW TABLES' в MS SQL, к сожалению. –

0

SchemaSpy http://schemaspy.sourceforge.net/ - отличный инструмент для анализа существующих баз данных. Он генерирует html-списки таблицы и ограничений, а также графическое представление отношений.

Смежные вопросы