私には、自分にも権限があるDatabaseAにアクセスしようとしているユーザーがいますが、次のエラーが発生し続けます(DatabaseAにはアクセスできますが、DatabaseBへの権限はありません)。
The server principal "Domain\Username" is not able to access the database "DatabaseB" under the current security context.
彼はDatabaseBにアクセスできないため、最初はこれが理にかなっています。残念ながら、彼はDatabaseBを呼び出していません。
これがプロファイラーを使用してサーバーを通過し、フィルターを使用しないステートメントレベルまで下がるのを見てきました。彼の接続とエラーが発生したことはわかりますが、DatabaseBが何らかの形でヒットしている兆候はありません。
彼が実行しようとしているストアドプロシージャを確認しました。これには、DatabaseA内のテーブルのみにアクセスする単純なselectステートメントが含まれています。
私は彼にDatabaseBへのアクセスを許可することでこれを回避することができましたが、これは実行可能な長期的な解決策ではありません。
ユーザーが孤立していないことを確認しました
私はグーグルを検索しました、そしてこのエラーに関してたくさんの投稿があります、しかしこのシーンリオを説明するものはありません。
誰かがこれを見たり、それについての考えを持っているなら、私は本当にそれを感謝します!