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 に答える