powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / относительно is_member
7 сообщений из 7, страница 1 из 1
относительно is_member
    #32036471
Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот такой вопрос -
есть пользовательская роль 'DataReader',
в ней точно есть чел, от имени которого запущен QA.
результат
Код: plaintext
select is_member('datareader')

возвращает 0.

чего за глюк??
...
Рейтинг: 0 / 0
относительно is_member
    #32036756
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с похожей ситуацией сталкивался... Был пользователь включенный в роли sysadmin (серверная) и managers (пользовательская). Так вот is_member('managers') тоже возвращал 0. Правильно работала только is_srvrolemember. С чем это связано пока не выяснял, если кто знает подскажите...
...
Рейтинг: 0 / 0
относительно is_member
    #32036864
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разъяснение:

Как только логин попадает в группу sysadmin, он в базе уже маппируется не в того юзера, который был до этого и входил в соотв. группу, а в dbo, который в эту группу не назначался. Проверить мое утверждение можно просто: посмотрите что возвращает USER_NAME() под тем логином
...
Рейтинг: 0 / 0
относительно is_member
    #32036899
Vader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
is_srvrolemember производит проверку на роль зарегестрированную на уровне сервера, а

is_member на уровне текущей базы
...
Рейтинг: 0 / 0
относительно is_member
    #32037357
Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И все-таки.... глюк-то (или не глюк?) остался. Не возвращает процедура правильное значение.... :(
...
Рейтинг: 0 / 0
относительно is_member
    #32037375
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моё разъяснение не разъяснило?

Тогда наглядный пример.

Заводим логин Вася. Для него заводим юзера Вася в базе (любой). Юзера Вася включаем в группу SomeGroup. Заходим на сервер как Вася. select USER_NAME() показывает "Вася", select IS_MEMBER('SomeGroup') дает 1.
Далее логин Вася назначается в группу sysadmin. Коннектимся с логином Вася и заходим в ту базу. Теперь select USER_NAME() выдает "dbo", а select IS_MEMBER('SomeGroup') дает 0, что на самом деле верно, так как пользователя dbo в группу SomeGroup мы не включали.
Суть в том, что как только Вася стал админом, в базе он уже не Вася, а dbo.
...
Рейтинг: 0 / 0
относительно is_member
    #32037452
Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а-а-а-а-а.... понятно. работает... спасибо....
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / относительно is_member
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]