我正在尝试使用代码from this answer查询SQL Azure数据库的消耗大小:
SELECT SUM(reserved_page_count)*8.0/1024 FROM sys.dm_db_partition_stats;
该查询在数据库管理员下运行得很好,但在其他用户下没有 - 我得到
用户无权执行此操作。
当我尝试GRANT
SELECT
权限时,我收到以下错误消息:
仅当当前数据库是主数据库时,才能授予服务器作用域目录视图或系统存储过程或扩展存储过程的权限。
如果我登录master
并尝试GRANT
,我会收到此消息:
在此版本的SQL Server中无法更改系统存储过程,服务器范围的目录视图和扩展存储过程的权限。
因此看起来除了数据库管理员以外的用户无法获得已用空间。
如何在数据库管理员以外的用户下查询SQL Azure数据库中的已用空间?
答案 0 :(得分:2)
我似乎记得我们必须授予登录“VIEW DATABASE STATE”和“VIEW DEFINITION”才能运行该查询。