Как читать метаданные базы и таблицы с сервера MS SQL с минимальными разрешениями - PullRequest
2 голосов
/ 04 ноября 2008

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

Я не уверен, должен ли я наполовину ответить на свой вопрос, но вот то, что мне нужно в 2000 и 2005 годах. В идеале, я бы хотел вернуться дальше, но у меня нет доступа к более старым версиям: 1003 *

Права доступа

2005: пользователь с разрешением ПРОСМОТРЕТЬ ЛЮБОЕ ОПРЕДЕЛЕНИЕ

2000: пользователь с общедоступной ролью во всех базах данных для извлечения

Базы данных

sp_databases

или

SELECT * FROM sysdatabases

оба работают на SQL Server 2000 и 2005

Таблица

2005

SELECT name FROM <database>.sys.tables

или

SELECT table_name FROM <database>.information_schema.tables WHERE table_type = 'BASE TABLE'

2000

SELECT name from <database>.dbo.sysobjects WHERE xtype = 'U'

1 Ответ

2 голосов
/ 04 ноября 2008

Я верю INFORMATION_SCHEMA Просмотров может помочь вам.

http://msdn.microsoft.com/en-us/library/ms186778.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...