SQL Server 2008 R2:通常、テーブルとストアドプロシージャを作成し、ユーザーにストアドプロシージャの実行権限を与えます。ユーザーがストアドプロシージャを実行できる場合、ストアドプロシージャで選択/挿入/更新ステートメントの実行を許可する必要があることをSQL Serverが推測するため、テーブルまたはビューに特定の権限を与える必要はありません。 1つのスキーマしか扱っていないのでうまくいきますが、今はテーブルが1つのスキーマにあり、ストアドプロシージャが別のスキーマにあるシナリオがあります。ユーザーがストアドプロシージャを実行すると、彼らはエラーが出る:異なるスキーマでデータを呼び出すストアドプロシージャ
Msg 229, Level 14, State 5, Procedure teststoredprocedure, Line 7 The SELECT permission was denied on the object 'testtable', database 'testdatabase', schema 'testschema'.
teststoredprocedure
はtesttable
とは別のスキーマです。ストアドプロシージャに、テーブルにユーザー固有の権限を与えることなくテーブルから選択できるようにすることは可能ですか?
いずれかの回答が正しかったり役に立ったりした場合は、受け入れるか、upvoteしてください。 – Ben