2

CLR ストアド プロシージャがデータベース所有者として実行されるように、CLR ストアド プロシージャを Service Broker キューから実行するように設定しようとしています。

あらゆる種類の組み合わせを試しましたが、CLR ストアド プロシージャで (ユーザー名とパスワードを使用して) ユーザーとしてログインしないと、これを機能させることができません。

CLR ストアド プロシージャはファイル システムにアクセスしていますが、データベースを所有する Windows ユーザーに許可されたフォルダーにのみアクセスできるようにしたいと考えています。

4

1 に答える 1

1

Windows にパスワードを提供しないと、SQL Server の外部のリソースにアクセスすることはできません。EXECUTE AS はエンジン内でのみ信頼されます。Windows (したがってファイル システム) には、この偽装偽装を信頼する理由はまったくありません。

SQL には、OS レベルでの偽装を容易にするための特別な構造が 1 つありCREATE CREDENTIALます。あなたの場合、最初に SQL ログインがないため、SQL Server 資格情報を取得できるかどうかわかりません。

于 2013-04-29T16:41:51.223 に答える