Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Windows NT-authentification в MSSQLServer [D6, MSSQL]


alxx ©   (2002-11-10 18:24:00) 

Почему System_User и Current_User показывают разные имена пользователя (первый правильно, а второй почему-то dbo).

Как мне узнать роли пользователя через System_User?


alxx   (2002-11-11 14:18:00) [1]

Этот ответ я уже получал (спасибо).

Все-таки мне пришлось сделать так:

SELECT SG.[name] AS Role
FROM sysusers SU, sysusers SG, sysmembers SM
WHERE (SU.uid = SM.memberuid)and
(SM.groupuid = SG.uid)and
(SU.Name = "User")

где "User" - пользователь домена минус домен.

A is_member - работает на имя пользователя SQL Server (CURRENT_USER)


vuk   (2002-11-10 22:14:00) [2]

Позор на мою голову! Роли пользователя получаются так:

select name
from sysusers
where issqlrole = 1 and is_member(name)<>0


vuk   (2002-11-10 20:53:00) [3]

>Почему System_User и Current_User показывают разные имена
>пользователя
Все правильно. system_user - имя пользователя домена, а current_user - имя пользователя SQL Server. А dbo у Вас там, видимо, потому, что вы администратор.

>Как мне узнать роли пользователя через System_User?

select name
from sysusers
where issqlrole = 1 and is_member(system_user)<>0


Наверх

Титульная страница Поиск, карта сайта Написать письмо