Какие права нужны пользователю для запроса используемого размера в базе данных SQL Azure?

Я пытаюсь запросить используемый размер базы данных SQL Azure, используя код из этого ответа:

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

Этот запрос отлично работает под администратором базы данных, но не под другим пользователем - я получаю

У пользователя нет разрешения на выполнение этого действия.

и когда я пытаюсь получить GRANT SELECT разрешение, я получаю это сообщение об ошибке:

Разрешения на представления каталога на уровне сервера, системные хранимые процедуры или расширенные хранимые процедуры могут быть предоставлены только в том случае, если текущая база данных является главной.

Если я захожу в master и пытаюсь GRANT там, я получаю следующее сообщение:

Разрешения для системных хранимых процедур, представлений каталога на уровне сервера и расширенных хранимых процедур нельзя изменить в этой версии SQL Server.

Таким образом, похоже, что пользователи, кроме администратора базы данных, не могут получить используемое пространство.

Как запросить используемое пространство в базе данных SQL Azure под пользователем, отличным от администратора базы данных?


person sharptooth    schedule 06.07.2012    source источник


Ответы (1)


Я, кажется, припоминаю, что нам пришлось предоставить логин «ПРОСМОТР СОСТОЯНИЯ БАЗЫ ДАННЫХ» и «ПРОСМОТР ОПРЕДЕЛЕНИЯ», чтобы выполнить этот запрос.

person dunnry    schedule 06.07.2012
comment
Похоже, VIEW DATABASE STATE достаточно. Спасибо. - person sharptooth; 11.07.2012