SQL Server データベースに複数のビューを設定しました。これらのビューは、宣言に WITH EXECUTE AS 'proxyuser' 句があるストアド プロシージャから選択されます。実行する選択ステートメントは動的に作成され、sp_executesql ストアド プロシージャで実行されます。ビューが存在するデータベースと同じサーバー上の別のデータベースの両方からビューが選択されるように、これらのビューの定義に別のデータベースのテーブルへの結合を含める必要が生じるまで、すべてが正しく機能していました。
私が得ているエラーは次のとおりです。サーバー プリンシパル "proxyuser" は、現在のセキュリティ コンテキストではデータベース "mydb" にアクセスできません。
これは私が試したことです:
ここで推奨されているように、2 番目のデータベースからプロキシユーザーを削除し、ログインをデータベースにマッピングします 。 -the-database-under-the-current-security-context/
ここで推奨されているクロス データベース所有権チェーンを有効にします 。
私のシナリオは、同じエラー メッセージを説明する Microsoft サポート記事 #913422 で概説されている要件を満たしていません。プロキシは、Windows 認証ではなく、SQL Server 認証を使用します。
何か案は?
前もって感謝します。