Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Где хранится список баз?  [new]
Centraloff
Member

Откуда: Екатеринбург
Сообщений: 138
Добрый день!

Подскажите кто знает, где хранит SSMS список подключенных баз? имеются в виду тот список баз который появляется у каждого конкретного пользователя когда подключаешься к определенному экземпляру. Думал в реестре, но поиск по реестру ничего не дал.
27 май 13, 08:50    [14352049]     Ответить | Цитировать Сообщить модератору
 Re: Где хранится список баз?  [new]
mag2000
Member

Откуда:
Сообщений: 187
Centraloff,

Может быть список баз данных экземпляра SQL хранится в базе master в таблице sys.databases , а SSMS при подключении к экземпляру "строит" дерево объектов в GUI-интерфейсе на основании таблицы и др. таблиц ?
27 май 13, 08:59    [14352067]     Ответить | Цитировать Сообщить модератору
 Re: Где хранится список баз?  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
база, которая стоит у пользователя по умолчанию
select name,default_database_name from sys.server_principals

дальше нужно пройтись по каждой базе(курсором), и получить права пользователей на БД:
select name,principal_id from sys.database_principals

вроде так
27 май 13, 09:08    [14352101]     Ответить | Цитировать Сообщить модератору
 Re: Где хранится список баз?  [new]
Centraloff
Member

Откуда: Екатеринбург
Сообщений: 138
mag2000,

да, некорректно поставил вопрос...
27 май 13, 09:12    [14352112]     Ответить | Цитировать Сообщить модератору
 Re: Где хранится список баз?  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
хранит? в sysdbreg в базе master

Список баз, который показывается - строится через системное представление sys.databases.
Он не зависит от прав пользователя.
27 май 13, 09:56    [14352285]     Ответить | Цитировать Сообщить модератору
 Re: Где хранится список баз?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
EvAlex
Список баз, который показывается - строится через системное представление sys.databases.
Он не зависит от прав пользователя.

Очень даже зависит:
BOL, sys.databases
If the caller of sys.databases is not the owner of the database and the database is not master or tempdb, the minimum permissions required to see the corresponding row are ALTER ANY DATABASE or VIEW ANY DATABASE server-level permission, or CREATE DATABASE permission in the master database. The database to which the caller is connected can always be viewed in sys.databases.
27 май 13, 10:33    [14352508]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить