2

我如何检查(以及哪个)应用程序角色对于到 sql 服务器的连接(DbConnection 对象)是否处于活动状态?

我的问题是,所有数据库对象都为我的应用程序角色授予了访问权限,但是在执行 select 语句时,我收到“拒绝访问”错误。我使用激活了应用程序角色的单个连接对象,但我担心 EntityFramework 或 DI 容器由于配置错误而创建另一个 DbConnection 对象。

4

1 回答 1

0

多哈。在重新阅读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()解决问题。

于 2011-11-17T08:40:45.113 回答