Sql Server设置用户只能查看并访问特定数据库
1.新建登录用户
以管理员身份登陆数据库(权限最高的身份如sa),点击安全性->登录名,右键新建登录名,输入登录名和密码,取消强制实施密码策略。
2.将服务器角色设置为public
注意:很重要的一步骤,检查【用户映射】中该用户是否有对应的数据库权限,如果有请把勾去掉,否则会影响第4点的操作结果
3.将public服务器角色的属性->取消查看所有数据库的权限
点击安全性->服务器角色->public,右键属性。点击服务器后如下图取消查看任意数据库的权限
或者执行如下SQL:
REVOKE VIEW ANY DATABASE TO [public]
4.将待授权的数据库的db_owner指派给刚注册的新用户
在数据库中新建查询,输入下列sql语句。完成对用户权限的设定,做到了新建用户只能查看和操作特定数据库(除系统数据库外)
Use [WH_R]//WH_R为数据库名称 go EXEC dbo.sp_changedbowner N'user'//user为刚新建的用户
内容大部分来自https://blog.csdn.net/qq_35938548/article/details/78269112,感谢大佬分享
路很长,请保持耐心。