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

Откуда:
Сообщений: 769
select @@VERSION

Microsoft SQL Server 2014 - 12.0.2269.0 (X64)
Jun 10 2015 03:35:45
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )

Один Windos user не имеет прав в одной из баз на SELECT.

execute as user = 'Win\WinUser';
SELECT HAS_PERMS_BY_NAME(db_name(), 'DATABASE', 'SELECT');  
revert

Получаем 0.

Выполняю
grant SELECT to [Win\WinUser]

ошибок не возвращается, прав на SELECT не появляется.

Удаляю юзера, удаляю логин. Создаю снова и проблема повторяется. Манипуляции в SSMS - включаю юзера в роль datareader, выключаю его оттуда, ничего не меняют.

Проблема существует только в этой базе. Для других всё работает.

Предыстория мне не известна. Знаю только, что на SQL 2014 мигрировали с предыдущих версий. С каких именно и как, неизвестно.
29 сен 16, 13:14    [19723366]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами на базе  [new]
o-o
Guest
узнать, с какой версии мигрировала база, можно так:
dbcc dbinfo with tableresults
-- see dbi_createVersion
а юзер -- виндовый, наверняка входит в группу с денаем на селект.
в виндовую группу.
ищите в sys.user_token:
select *
from sys.user_token
where principal_id > 0
29 сен 16, 13:38    [19723514]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с правами на базе  [new]
sti
Member

Откуда:
Сообщений: 769
o-o,
Спасибо, разобрался. Действительно юзер входит в группу VORDEFINIERT\Administratoren (у нас тут всё по немецки), которой кто-то очень умный включил для простоты все галочки. В том числе и db_denydatareader :-)
29 сен 16, 14:40    [19723918]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить