Получить схему 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-списки таблицы и ограничений, а также графическое представление отношений