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

Откуда:
Сообщений: 356
Добрый всем день

есть некая роль бд, допустим office

делаю запрос по вхождению пользователя в эту роль через is_rolemember и через табличку sys.database_role_members

select p.name, is_rolemember('Office', p.name), rm.role_principal_id
from sys.database_principals p 
  join sys.database_principals o on o.name = 'Office'
  left join sys.database_role_members rm on rm.role_principal_id = o.principal_id and rm.member_principal_id = p.principal_id


name (No column name) member_principal_id
misha 0 5
leha 1 6
masha 1 7


вопрос - почему пользователь misha получает 0, хотя колонка member_principal_id не null, как в остальных случаях?
все пользователи гарантированно сиквельные (не виндовые)
28 авг 12, 23:40    [13079164]     Ответить | Цитировать Сообщить модератору
 Re: проблемы с is_rolemember - работает не как ожидается  [new]
Dmitry V. Nechaev
Member

Откуда:
Сообщений: 356
P.S. кажется из списка выкидывает всех sysadmin
28 авг 12, 23:44    [13079178]     Ответить | Цитировать Сообщить модератору
 Re: проблемы с is_rolemember - работает не как ожидается  [new]
Dmitry V. Nechaev
Member

Откуда:
Сообщений: 356
всё, разобрался

сервер для сисадмина всегда старается замапить сисадмина на dbo, даже если спросить database_principal_id вернёт 1
приходится получить айди по явно передаваемому своему имени и лезть в таблицу database_role_members, узнавая к каким группам принадлежишь
29 авг 12, 00:39    [13079305]     Ответить | Цитировать Сообщить модератору
 Re: проблемы с is_rolemember - работает не как ожидается  [new]
Glory
Member

Откуда:
Сообщений: 104751
Dmitry V. Nechaev
сервер для сисадмина всегда старается замапить сисадмина на dbo, даже если спросить database_principal_id вернёт 1
приходится получить айди по явно передаваемому своему имени и лезть в таблицу database_role_members, узнавая к каким группам принадлежишь

Для sa все вхождения в роли игноруются - зачем их проверять ?
29 авг 12, 10:00    [13080000]     Ответить | Цитировать Сообщить модератору
 Re: проблемы с is_rolemember - работает не как ожидается  [new]
Dmitry V. Nechaev
Member

Откуда:
Сообщений: 356
Glory
Dmitry V. Nechaev
сервер для сисадмина всегда старается замапить сисадмина на dbo, даже если спросить database_principal_id вернёт 1
приходится получить айди по явно передаваемому своему имени и лезть в таблицу database_role_members, узнавая к каким группам принадлежишь

Для sa все вхождения в роли игноруются - зачем их проверять ?


Простенькая система переписки внутренняя, в программе, в качестве кому-куда используются имена пользователей базы, как в почте. Группы соответственно.
29 авг 12, 11:19    [13080717]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить