对数据库系统视图的授权
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
/*映射账户到指定的 DB 上*/use testdbgocreate user test for login test
------解决方案--------------------
在 SQL Server 2005 及更高版本中,目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据
若要允许调用方查看元数据,可在适当的作用域(对象级、数据库级或服务器级)中授予调用方 VIEW DEFINITION 权限
补上这句
- SQL code
grant VIEW DEFINITION to test