当前位置: 首页 > news >正文

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这个数据库,且能看到所有的表
在这里插入图片描述

http://www.lryc.cn/news/18694.html

相关文章:

  • linux:http服务器搭建及实验案例
  • 【无标题】智能工业安全用电监测与智慧能源解决方案
  • 前端白屏的检测方案,让你知道自己的页面白了
  • 编译原理【文法设计】—每个a后面至少一个b、ab个数相等,ab个数不相等的所有串
  • 【死磕数据库专栏启动】在CentOS7中安装 MySQL5.7版本实战
  • 23.2.23 22湖北省赛 B
  • ONLYOFFICE中的chatGPT 是如何编写毕业论文以及翻译多种语言的
  • QT入门Containers之QStackedWidget
  • Java学习-IO流-字节缓冲流
  • C++这么难,为什么我们还要学习C++?
  • C#底层库--业务单据号生成器(定义规则、自动编号、流水号)
  • vue3项目练习大全(附github源码)
  • SWMM从入门到实践教程 01 SWMM软件介绍
  • CSS中的text-overflow属性详解 (控制文字在一行显示,超出部分加省略号)
  • 基于pytorch实现模型剪枝
  • 写出高质量的前端代码之消除代码中的重复
  • 怎么从零开始学黑客,黑客零基础怎么自学
  • 量化择时——资金流择时策略(第1部分—因子测算)
  • Openwrt中动态IPV6 防火墙的正确设置方法
  • JS的基本数据类型和引用数据类型
  • mars3d基础项⽬常⻅报错
  • 【阿旭机器学习实战】【35】员工离职率预测---决策树与随机森林预测
  • Python学习-----模块4.0(json字符串与json模块)
  • open3d最大平面检测,平面分割
  • 【C++】4.类和对象(下)
  • 自动驾驶仿真:ECU TEST 、VTD、VERISTAND连接配置
  • postgres数据库连接管理
  • 【华为OD机试模拟题】用 C++ 实现 - 环中最长子串(2023.Q1)
  • Spring:@Async 注解和AsyncResult与CompletableFuture使用
  • tidb ptca,ptcp考证