ストアドプロシージャを使用しようとしているときに何かが見つかりません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、それが問題解決するが、それは私にとって正しい解決策ではないようです...