Ограничить представление sys.databases подключаемыми базами данных

Как ограничить результаты от sys.databases к доступным базам данных?

Мы переходим на группы доступности и сервер реплики, работающие на sql-server 2017.

До этого у меня был оператор select, работающий в master-database, чтобы увидеть, какие базы данных работают на сервере (select name, state from sys.databases), а затем позволить пользователю выбрать базу данных и настроить соединение с базой данных для дальнейших SQL-операторов.

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

Операторы выбора показывают все базы данных, даже если они принадлежат другой группе доступности (они размещены на том же сервере-реплике).

Проблема в том, что для dbo не проблема выяснить, какие базы данных относятся к группе доступности (sys.availabiltiy - Views), но обычный пользователь не имеет необходимых прав для просмотра этих sys-Views, и я не хочу давать ему view_server_stats роль.

0 ответов

Другие вопросы по тегам