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

Откуда: Москва
Сообщений: 1241
сервер ms sql 2008 R2
в MStudio захожу под windows пользователем и
запрос select user_id() возвращает 1 - это id пользоваталя dba.
судя по документации вызов user_id() без передачи должен вернуть id залогиненного пользователя. но этого не происходит - возвращается dba .
Кто то значет отчего?
в принципе нужно пользоваться suser_id() - опять же согласно документации для получения текущего пользователя это лучше подходит. но отчего такая разница
28 июл 11, 13:27    [11039359]     Ответить | Цитировать Сообщить модератору
 Re: user_id непонятно работает  [new]
Glory
Member

Откуда:
Сообщений: 104751
monstrU
Кто то значет отчего?
в принципе нужно пользоваться suser_id() - опять же согласно документации для получения текущего пользователя это лучше подходит. но отчего такая разница

Потому что вы dbo в этой базе
28 июл 11, 13:33    [11039402]     Ответить | Цитировать Сообщить модератору
 Re: user_id непонятно работает  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
вот здесь похожий случай разбирали
28 июл 11, 13:33    [11039403]     Ответить | Цитировать Сообщить модератору
 Re: user_id непонятно работает  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
monstrU
судя по документации вызов user_id() без передачи должен вернуть id залогиненного пользователя. но этого не происходит - возвращается dba .
Не залогиненного, а текущего. Пользователь не может логинится.

monstrU
в принципе нужно пользоваться suser_id() - опять же согласно документации для получения текущего пользователя это лучше подходит. но отчего такая разница
Разница оттого, что suser_id() согласно документации не возвращает ни текущего пользователя, ни вообще каких либо пользователей :-)

user_id() возвращает текущего пользователя базы (то есть в вашем случае dbo)
suser_id() возвращает текущий логин (имя входа) сервера, который был указан при коннекте к серверу.

Само собой, для одного логина (Вася) для разных баз может быть много разных пользователей (dbo, Маша, Петя).

И, кстати, dbo, а не dba
28 июл 11, 13:38    [11039429]     Ответить | Цитировать Сообщить модератору
 Re: user_id непонятно работает  [new]
monstrU
Member

Откуда: Москва
Сообщений: 1241
спасибо за ответы
28 июл 11, 14:15    [11039631]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить