ストアドプロシージャを使用しようとしているときに何かが見つかりませんEXECUTE AS
。ストアドプロシージャは、データを読み取りsource_db
、集計し、結果をに格納しtarget_db
ます。
sp自体はにありtarget_db
ます。私は専用のログインを持っているし、両方のユーザーにマッピングsource_db
してtarget_db
、SPの所有者のために(そのユーザーが存在するapp_agent
中source_db
やでtarget_db
ログイン用app_agent
)。
としてログインしてapp_agent
実行する場合
EXEC target_db.app_agent_schema.import_data
すべてが正常に動作します。しかし、私が変更した場合
ALTER PROCEDURE app_agent_schema.import_data WITH EXECUTE AS OWNER` (or `AS SELF`)
実行してみてください
サーバープリンシパル "app_agent"は、現在のセキュリティコンテキストではデータベース "source_db"にアクセスできません。
SQL Server 2008を使用しています。
誰かが私のエラーを指摘できますか?
ありがとう
更新
いくつかの研究を行った後、私はそれを発見しましたALTER DATABASE target_db SET TRUSTWORTHY ON
、それが問題解決するが、それは私にとって正しい解決策ではないようです...