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

sql server限制用户只能访问特定表

一个老系统的sqlserver 数据库需要新建一个用户,并限制这个新用户只能访问指定的几个数据表。

1.夺权

创建用户简单,但是登录用户没有管理权,windows管理员登录用户也没有管理权限,这就需要夺权,在单用户模式下,重置sql server的sa密码,或者重新创建一个管理用户,不知道有没有其它程序使用sa用户登录,所以修改sa密码不是一个好方法。
--运行--cmd
net stop mssqlserver     --停止数据库服务
net start mssqlserver /m   --启动到单用户模式
sqlcmd -S.
1> use master
2> go
3> create login sa_bak with password='y85632582', check_policy=off
4> go
5> alter server role sysadmin add member sa_bak
6> go
7> exit
net stop mssqlserver  --停止数据库服务
net start mssqlserver  --启动

夺权成功。

2.创建用户
2.1修改服务器角色中的public ,将服务器的查看任意数据的权限关闭,这样这个用户用管理工具连接的时候看到授权数据库,而不是所有数据库
2.2新建sql server登录用户,默认数据库设置为授权数据库,服务器角色中不调整,还是public,
用户映射的地方,选择授权数据库,角色成员选择public

3.数据库表授权
在数据库中,找到具体的表,右键属性--权限
搜索到新建的用户,勾选下面的权限(select/insert)等,如果是设置只读,那就选择select。

4.测试
使用新建的用户登录管理控制台,测试权限是否生效。
 

相关文章:

  • windows10 系统显示mov文件格式缩略图
  • 如何从播放器构造角度研究 Media3 源码
  • 最新阿里九宫格识别模型,连线,231 协议算法
  • 〖 Linux 〗操作系统进程管理精讲(2)
  • 148.WEB渗透测试-MySQL基础(三)
  • java每日精进 5.08【框架之数据权限补充】
  • Linux系统(OpenEuler22.03-LTS)部署FastGPT
  • MySql集群架构
  • [逆向工程]什么是DLL注入(二十二)
  • 1.3.1 Linux音频框架alsa详细介绍
  • Inno Setup专业打包指南:从基础到高级应用
  • 前端面经 作用域和作用域链
  • 信息系统项目管理工程师备考计算类真题讲解十五
  • 数值分析——条件数
  • 云展厅的制作方式
  • Web 架构之前后端分离
  • docker镜像误删恢复
  • 如何在 Logback 日志框架中加入链路 ID
  • 【基础知识】李雅普诺夫方程与李雅普诺夫函数
  • mybatis-plus-join-boot-starter依赖解决 Join 联表查询
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升
  • 越怕出错越会出错,“墨菲定律”的魔咒该怎么破?
  • 常州市委原常委、组织部部长陈翔调任江苏省民宗委副主任
  • A股26家游戏企业去年营收近1900亿元:过半净利下滑,出海成为主流选择
  • 首家股份行旗下AIC来了,兴银金融资产投资有限公司获批筹建
  • 网友建议平顶山请刘昊然任旅游宣传大使,市委:有此设想,正申请经费