あるVIEW DEFINITION
ユーザーのスキーマレベルで適切に権限を設定する際に問題が発生しました。スキーマTestSchema
を作成し、いくつかのテーブルを追加しました。ユーザーは、現在のアクセス許可は、アクセスに設定&(テーブルを変更しているSELECT
、UPDATE
、DELETE
を介して、など)dbo_datareader
とdbo_datawriter
ロール。ただし、SSMSオブジェクトエクスプローラーでテーブルを表示することはできません。
定義を表示する権限を付与しようとしました:
grant view definition on SCHEMA :: [TestSchema] to [User]
それはうまくいきませんでした。テーブルレベルの権限を設定してみました:
grant view definition on [TestSchema].[NewTable] to [User]
それもうまくいきませんでした。それから私は全面的な助成金を試してみました:
grant view definition to [User]
そして、それはうまくいきました。これTestSchema
で、だけでなく、アクセスしてはならない他のスキーマも表示できるようになりました。
ここでの目標は、ユーザーが特定のスキーマ内のすべてのテーブルを表示できるようにすることです。どうすればそれを達成できますか?デフォルトでこれを実行できるようにする必要がある場合、なぜそれができないのかを見つけるためにどのようなアクセス許可を確認する必要がありますか?