当前位置: 代码迷 >> Sql Server >> 100 求解 sqlserver 系统视图 授权有关问题
  详细解决方案

100 求解 sqlserver 系统视图 授权有关问题

热度:28   发布时间:2016-04-27 13:18:35.0
100 求解 sqlserver 系统视图 授权问题
对数据库系统视图的授权 
use testdb
go
grant select on sys.services to test;
grant view database state to test;
go 为什么不生效呢 


------解决方案--------------------
SQL code
grant select on sys.services to test;--这个必须在master 下才能授权。而且必须该用户先映射到 master库的安全性账户中。不过如果你的test 用户是 public 角色的话不用授权也可以查询该视图。grant view database state to test  --同上一样。
------解决方案--------------------
探讨

SQL code
grant select on sys.services to test;--这个必须在master 下才能授权。而且必须该用户先映射到 master库的安全性账户中。不过如果你的test 用户是 public 角色的话不用授权也可以查询该视图。
grant view database state to test --同上一样。

------解决方案--------------------
SQL code
/*映射账户到指定的 DB 上*/use testdbgocreate user test for login test
------解决方案--------------------
在 SQL Server 2005 及更高版本中,目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据

若要允许调用方查看元数据,可在适当的作用域(对象级、数据库级或服务器级)中授予调用方 VIEW DEFINITION 权限

补上这句

SQL code
grant VIEW DEFINITION to test
  相关解决方案