Активна ли роль приложения в соединении с сервером SQL? - PullRequest
1 голос
/ 17 ноября 2011

Как я могу проверить, активна ли (и какая) роль приложения для соединения (объект DbConnection) с сервером sql?

Моя проблема в том, что все объекты базы данных имеют доступ, предоставленный для моего приложенияроль, но при выполнении оператора выбора я получаю ошибку «отказано в доступе».Я использую один объект подключения с активированной ролью приложения, но боюсь, что либо EntityFramework, либо контейнер DI создает другой объект DbConnection из-за ошибки конфигурации.

1 Ответ

0 голосов
/ 17 ноября 2011

Doh. Перечитывая документацию для sp_setapprole , я вижу этот пример кода:

DECLARE @cookie varbinary(8000);
EXEC sp_setapprole 'Sales11', 'fdsd896#gfdbfdkjgh700mM'
    , @fCreateCookie = true, @cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- This will return the name of the application role, Sales11.

Так что может показаться, что доступ к USER_NAME() поможет.

...