当我尝试执行以下查询时:
use [msdb]
go
GRANT SELECT ON [sys].[dm_tran_current_transaction] TO
[User1];
我遇到以下错误:
4号线,第16级,状态10,第1行的消息 仅当当前数据库为master数据库时,才能授予服务器范围的目录视图,系统存储过程或扩展存储过程的权限。
我检查了上述视图是否存在于msdb数据库下。您能帮我解决什么错误以及为什么会出现此错误吗?
答案 0 :(得分:0)
您可以在每个数据库中查询动态管理视图的事实并不一定意味着它们在每个数据库中都已定义。阅读错误消息,然后执行以下操作:使用master数据库。
此外,仅授予用户查询视图的权限还不够,还必须向User1(在将执行查询的数据库中)授予VIEW DATABASE STATE权限。