Как ограничить результаты из sys.databases
доступными базами данных?
Мы переходим на группы доступности и сервер реплики, работающие на sql-server 2017.
До этого у меня был выбороператор, работающий в master-database, чтобы увидеть, какие базы данных работают на сервере (select name, state from sys.databases
), а затем позволить пользователю выбрать базу данных и настроить соединение с базой данных для дальнейших SQL-операторов.
Но теперь включеноВ новой системе с группами доступности и сервером реплики я вижу больше баз данных, к которым не могу подключиться, когда открываю соединение с одной группой доступности.
Операторы выбора показывают все базы данных, даже если они принадлежат другойгруппа доступности (они размещены на том же сервере-реплике).
Проблема заключается в том, что для dbo не проблема выяснить, какие базы данных принадлежат группе доступности (sys.availabiltiy
- Views), нообычный пользователь не имеет необходимых прав для просмотра этих sys-Views, и я не хочу давать ему view_server_stats
roле.