在 sql server 中,不允许用户查看到所有数据库
在最新版本(14.0)的 sql server management studio 中,角色不能直接编辑,需要在服务器属性中进行修改
移除掉 public 查看任意数据库的权限,然后新建的用户就看不到其它数据库了,只给用户可以看的数据库权限即可。
创建登录名:
CREATE LOGIN test_user WITH PASSWORD='test123', CHECK_POLICY = OFF; GO
取消 public 权限:
DENY VIEW ANY DATABASE TO PUBLIC;
GO
授权用户(实际是更改了数据库所有权):
ALTER AUTHORIZATION ON DATABASE::test_db TO test_user;
GO
顺便记录一下删除用户的语句:
-- 删除用户(数据库中的用户) USE test_db; DROP USER test_user; -- 删除登录名 DROP LOGIN test_user;
转自:https://www.cnblogs.com/yuanhang/p/5719323.html
创建只读帐号:
-- 1. 创建登录名 CREATE LOGIN readuser WITH PASSWORD = 'YourPassword'; -- 替换 'YourPassword' 为实际密码 -- 2. 创建用户 USE psydb; CREATE USER readuser FOR LOGIN readuser; -- 3. 授予只读权限 USE psydb; GRANT SELECT TO readuser;
输了你,赢了世界又如何...