在 sql server 中,不允许用户查看到所有数据库

在最新版本(14.0)的 sql server management studio 中,角色不能直接编辑,需要在服务器属性中进行修改

image

移除掉 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;

 

posted @ 2020-03-09 02:45  不是豆豆  阅读(1920)  评论(0)    收藏  举报
友情链接:迷途