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

Откуда:
Сообщений: 99
Имеется инстанс SQL Server 2005. На нем крутится несколько баз. Имеется логин (виндовая авторизация), логин примаплен, как паблик к некоторым из баз. Но при попытке коннекта к одной из этих БД, вылетает ошибка 'Database is not accessible'(с остальными все норм). При этом база доступна под другими логинами. sp_helplogins по данному логину выдает, что он пользователь в этой БД и имеет членство в ряде групп. В свойствах базы видно, что у пользователя стоит GRANT на коннект к БД. Никаких DENY нет. Пробовали давать datareader нашему пользователю, пробовали пересоздавать (Database User) - тщетно. Самое интересное, что есть целый ряд пользователей с аналогичными правами, у которых данная проблема не наблюдается. Есть идеи?
5 сен 13, 17:01    [14800995]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35380
Блог
что выдаст
select user_access_desc
  from sys.databases
  where name = 'ваша база'
5 сен 13, 17:12    [14801044]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
Критик,

MULTI_USER
5 сен 13, 17:19    [14801078]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
plombir86
Member

Откуда:
Сообщений: 15
Случаем не это Troubleshoot Orphaned Users (SQL Server)
5 сен 13, 17:28    [14801135]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
MacaronicTragedy
Имеется инстанс SQL Server 2005. На нем крутится несколько баз. Имеется логин (виндовая авторизация), логин примаплен, как паблик к некоторым из баз. Но при попытке коннекта к одной из этих БД, вылетает ошибка 'Database is not accessible'(с остальными все норм). При этом база доступна под другими логинами. sp_helplogins по данному логину выдает, что он пользователь в этой БД и имеет членство в ряде групп. В свойствах базы видно, что у пользователя стоит GRANT на коннект к БД. Никаких DENY нет. Пробовали давать datareader нашему пользователю, пробовали пересоздавать (Database User) - тщетно. Самое интересное, что есть целый ряд пользователей с аналогичными правами, у которых данная проблема не наблюдается. Есть идеи?

Иногда бывает такое когда права назначаются не только на уровне пользователя, но и доменных групп пользователей.
Если пользователь входит в одну из таких групп, которым ограничен доступ, то его личные настройки прав уступают по приоритету настройкам группы.
5 сен 13, 17:36    [14801165]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Наверно не совсем точно выразился.
Скорее ограничение прав доступа приоритетнее чем разрешения прав.
5 сен 13, 17:37    [14801177]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
o-o
Guest
SQL2008
Иногда бывает такое когда права назначаются не только на уровне пользователя, но и доменных групп пользователей.
Если пользователь входит в одну из таких групп, которым ограничен доступ, то его личные настройки прав уступают по приоритету настройкам группы.


ну так а как реализовать-то такое с базой?
вот если есть виндовая группа и юзер из нее,
как только сделали логин для группы, юзер просочился на сервер.
теперь, чтоб ему доступ запретить, делаем логин для этого товарища
и ему персональный DENY на CONNECT.
вся группа на сервер ходит, а у него явный DENY.
а как наоборот-то сделать?
если юзер на базу отмаплен, а группа нет, то группа в базу не попадет,
а юзер еще как.
у ТС юзер отмаплен. как он в свою базу не попадает, кому что запретили?
5 сен 13, 17:57    [14801296]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
o-o
Guest
o-o,

кстати, да. можно явный DENY группе сделать.
только что проканалось:
use MY_DB
deny connect to MY_WIN_GROUP
5 сен 13, 18:03    [14801325]     Ответить | Цитировать Сообщить модератору
 Re: Недоступность базы для одного из пользователей  [new]
o-o
Guest
но тогда надо просто отловить все явные DENY,
обратив внимание на группы:
select USER_NAME(grantee_principal_id)
from sys.database_permissions
where class_desc = 'DATABASE' and permission_name = 'CONNECT' and state_desc = 'DENY'
5 сен 13, 18:08    [14801339]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить