SQL server设置用户只能访问特定数据库、访问特定表或视图

在实际业务场景我们可能需要开放单独用户给第三方使用,并且不想让第三方看到与业务不相关的表或视图,我们需要在数据库中设置一切权限来实现此功能:

1.设置用户只能查看数据库中特定的视图或表

1.创建用户名 选择默认数据库 服务器角色默认为public 用户映射选择指定数据库
在这里插入图片描述
在这里插入图片描述
打开需要开放权限的数据库,这里我们选择test库
新建查询:
对用户qqq分配 View_1视图 只有 只读select权限

grant select on View_1 to qqq

在这里插入图片描述

–对用户分配指定表权限(读写删)
GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名]

–对用户分配指定表的列权限(读写删)
GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]

使用qqq登录
这时我们只能看到View_1视图,其它的表和视图看不见,且其它的数据库也无法操作
在这里插入图片描述

2.设置用户只能看到特定的数据库

如果我们不想让用户看到其它的数据库我们可以使用此方案

1.创建用户名 选择默认数据库 服务器角色默认为public 用户映射选择指定数据库
在这里插入图片描述在这里插入图片描述

2.设置public角色
安全性——服务器角色——找到public——属性——将服务器中的查看任意数据库 取消勾选
在这里插入图片描述
3.执行语句 设置新建的账户 能查看的数据库
USE test
go
EXEC dbo.sp_changedbowner N’qwe’

如果提示以下错误,
在这里插入图片描述
那么开test这个数据库找到刚刚新建的用户删掉之后再去执行这个语句
在这里插入图片描述
在这里插入图片描述
然后再使用我们新建的qwe账户登录,这时就实现了只能查看test这个数据库,且能看到所有的表
在这里插入图片描述

  • 6
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQL Server是一种关系型数据库管理系统,用于存储和管理大量的数据。通过SQL Server管理平台,我们可以方便地访问系统自带的master数据库。 首先,我们需要打开SQL Server管理平台。在开始菜单中搜索并点击"SQL Server Management Studio",或者在计算机中找到并运行"ssms.exe"文件。这将打开SQL Server管理平台。 接下来,我们需要连接到SQL Server实例。在连接窗口中,选择相应的服务器名称,输入正确的身份验证凭据(如Windows身份验证或SQL Server身份验证),点击"连接"按钮。 一旦连接成功,管理平台中的对象资源管理器窗口将显示数据库树。在左侧面板找到"系统数据库"文件夹,展开它,可以看到包含有系统自带数据库的列,其中包括master数据库。 要访问master数据库,我们可以双击它,或者右键点击并选择"新查询"选项。这将打开查询编辑器窗口,我们可以在其中编写和执行SQL语句。 在查询编辑器窗口中,我们可以执行各种操作来管理和维护master数据库,如创建新、插入数据、删除数据、修改结构等。我们还可以使用系统存储过程和视图来执行特定的管理任务,例如查看服务器状态、备份和还原数据库等。 总之,通过SQL Server管理平台可以方便地访问系统自带的master数据库,并执行管理和维护任务。这使得管理者可以更好地管理数据库,并确保数据的安全性和一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值