0

TempDB に存在するテーブルを挿入および更新するために、他の SP を呼び出す別の SP を呼び出すアクティブ化 SP があります。SA 権限を持つユーザーでキューを作成しましたが、アクティブ化 SP には SA 権限があります (問題を回避するため)。

このエラーが発生し続けています: オブジェクト 'xxxxxxxx'、データベース 'tempdb'、スキーマ 'dbo' で SELECT 権限が拒否されました。

Service Broker なしでプロセスを実行する機能があり (Service Broker が呼び出している SP を直接呼び出します)、正常に動作します。

誰にもアイデアはありますか?

ありがとうございました

4

1 に答える 1

0

頭のてっぺんからそれがどうなったか正確には覚えていませんが、アクティブ化されたプロシージャの実行コンテキストは奇妙です。トレース (または拡張イベント) を設定し、誰がプロシージャを呼び出しているかを確認します。きっと驚かれると思います。プロシージャに「execute as」句をスローするか、モジュール署名を開始するか、プロシージャ エグゼキュータにアクセス許可を付与することができます。

于 2012-11-30T03:32:24.550 に答える