2

この回答のコードを使用して、SQLAzureデータベースの消費サイズをクエリしようとしています。

SELECT SUM(reserved_page_count)*8.0/1024 FROM sys.dm_db_partition_stats;

そのクエリはデータベース管理者の下では問題なく実行されますが、別のユーザーの下では実行されません-私は

ユーザーには、このアクションを実行する権限がありません。

GRANT SELECT許可しようとすると、次のエラーメッセージが表示されます。

サーバースコープのカタログビュー、システムストアドプロシージャ、または拡張ストアドプロシージャに対するアクセス許可は、現在のデータベースがマスターである場合にのみ付与できます。

ログインしmasterてそこに行こうとすると、次のGRANTメッセージが表示されます。

このバージョンのSQLServerでは、システムストアドプロシージャ、サーバースコープのカタログビュー、および拡張ストアドプロシージャのアクセス許可を変更できません。

そのため、データベース管理者以外のユーザーは使用済みスペースを取得できないようです。

データベース管理者以外のユーザーの下でSQLAzureデータベースの使用済み領域をクエリするにはどうすればよいですか?

4

1 に答える 1

3

そのクエリを実行するには、ログインに「VIEW DATABASE STATE」と「VIEW DEFINITION」を付与する必要があったことを思い出すようです。

于 2012-07-06T16:58:13.360 に答える