3

Sql Server 2008 R2 データベースにユーザー アカウントがあります。これはdb_datareaderデータベース ロールのメンバーであり、それ以上の権限はありません。このユーザーが次の SELECT ステートメントの実行を許可されていないのはなぜですか?

SELECT * FROM sys.dm_db_partition_stats

そして、彼がこのクエリを実行できるように設定する必要がありますが、データベースに害を及ぼすことはできませんか?

4

2 に答える 2

8

これを許可する必要がありますVIEW DATABASE STATE

grant VIEW DATABASE STATE to [<YourUser>]
于 2013-04-19T14:05:10.020 に答える
8

Web を検索して、製品のドキュメントにたどり着く方法があれば:

sys.dm_db_partition_stats :

sys.dm_db_partition_stats動的管理ビューを照会するには、VIEW DATABASE STATE 権限が必要です。動的管理ビューのアクセス許可の詳細については、「動的管理ビューと関数 (Transact-SQL) 」を参照してください。

そして(わかりました、これは見つけるのが少しdb_datareader難しいことを認めます):

db_datareader固定データベース ロールのメンバーは、すべてのユーザー テーブルからすべてのデータを読み取ることができます。

私の強調

于 2013-04-19T14:09:46.180 に答える