最近项目中需要限定特定的用户只能查看并访问特定的数据库,防止多个用户对数据库操作时一些误操作,所以这篇文章主要给大家介绍了关于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这个数据库,且能看到所有的表
总结
到此这篇关于SQL Server如何设置用户只能访问特定数据库和访问特定表或视图的文章就介绍到这了,更多相关SQLServer设置用户只能访问特定数据库内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:SQL Server如何设置用户只能访问特定数据库和访问特定表或视图
基础教程推荐
- SQLServer 清理日志的实现 2023-07-29
- Python常见库matplotlib学习笔记之多个子图绘图 2023-07-27
- Mysql查询所有表和字段信息的方法 2023-07-26
- Mysql主从三种复制模式(异步复制,半同步复制,组复 2022-09-01
- 【Redis】数据持久化 2023-09-12
- 如何将excel表格数据导入postgresql数据库 2023-07-20
- 关于MySQL中explain工具的使用 2023-07-27
- python中pandas库的iloc函数用法解析 2023-07-28
- Sql Server Management Studio连接Mysql的实现步骤 2023-07-29
- Redis如何实现延迟队列 2023-07-13