执行以下查询时:
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL)我得到了错误:
Msg 262,14级,状态1,第4行查看数据库状态权限,拒绝数据库“主”。Msg 297,16级,状态1,第4行用户没有执行此操作的权限。
但是,我能够使用提供的(由SQL门户)管理员用户执行此查询。
我无法将主用户的视图数据库状态(使用提供的管理员用户)授予我所创建的任何用户,我得到以下错误:授予者没有授予权限。
知道如何执行查询吗?
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL)来自提供的(由SQL门户提供的)管理员用户?
发布于 2015-07-04 15:46:55
在SQL数据库高级层上,需要数据库中的视图数据库状态权限。不能在Master中授予权限,但可以在用户数据库中查询视图。在SQL数据库标准和基本层上,由于这些层的多租户所遵循的安全要求,因此需要SQL数据库服务器管理帐户。
发布于 2015-07-05 01:58:24
杰克是对的。
在多租户数据库层上,只有服务器管理员才能查询服务器范围内的视图(需要查看服务器状态权限),对数据库的作用域的视图可以由拥有view_database_state权限的人查询。
对于高级数据库,DBO可以查询范围为服务器和数据库的DMV。
在服务器的主数据库上,没有人具有视图数据库/视图服务器权限。
https://stackoverflow.com/questions/31218872
复制相似问题