Получить схему SQL Server с помощью SQL-запроса?

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

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

Ответ 1

Схема INFORMATION_SCHEMA - это хорошее место для запуска:

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

... и т.д.

Вы также можете взглянуть на использование SMO, API для доступа к метаданным в SQL Server.

Ответ 2

Я не уверен, что простые запросы, например

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

действительны в MS SQL. Они также были бы полезны

Ответ 3

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