Получение текущего пользователя в хранимой процедуре SQL Server - PullRequest
6 голосов
/ 09 июля 2011

У меня есть экземпляр SQL Server 2008 Express R2, проходящий проверку подлинности из Active Directory. У пользователей есть записи, связанные с их учетной записью AD, которые хранятся в базе данных. Я хотел бы иметь хранимые процедуры для них, чтобы получить свои записи.

Таким образом, процедура может сделать запрос SELECT * FROM PurchaseOrders WHERE uid = $userid

Как мне узнать $userid, свойство в их профиле AD?

Спасибо!

Ответы [ 2 ]

11 голосов
/ 09 июля 2011

Как правило, вы хотите получить

SELECT SUSER_NAME()

от SQL Server - это подключенный пользователь в формате DOMAIN\UserName.

Обычно у вас нет прямого доступа кAD с компьютера SQL Server, чтобы получить оттуда некоторые биты .... если вы не можете работать со значением DOMAIN\User Name, лучше всего передать эту информацию из вызывающего приложения в вашу хранимую процедуру.

0 голосов
/ 09 июля 2011
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER

или

SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...