架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2845|回复: 1

[资料] SQL Server 新建用户只允许访问某数据库

[复制链接]
发表于 2022-5-22 12:26:37 | 显示全部楼层 |阅读模式
需求:网站使用 SQL Server 作为持久化存储,需要配置数据库的地址、账号、密码,如果连接字符串配置 sa 用户的话,权限有点太大,想新建一个用户来只允许对某个数据库拥有所有权限。
本文使用 SQL Server Management Studio 工具连接 SQL Server 2019 数据库服务为例。

打开 SQL Server Management Studio 使用windows身份验证(或使用sa账号)登录。


首先,新建一个 TestDB 数据库,命令如下:

点左侧菜单【安全性】---【登录名】,然后右键单击“登录名”,点【新建登录名】,如下图:

QQ截图20220522121526.jpg


在常规选项卡,填写登录名、密码、确认密码,选择默认数据库,如下图:

QQ截图20220522121632.jpg

切换至用户映射,勾选目标数据库 [TestDB],并赋予 public、db_owner 的权限(这样新用户 itsvse 就能对数据库 TestDB 拥有管理者权限了),如下图:

QQ截图20220522122029.jpg

最后,点击确定即可。

我们尝试使用新建的用户来登录到数据库,如下图:


QQ截图20220522122138.jpg QQ截图20220522122228.jpg

虽然可以看到其它数据库,但是尝试访问,会报错如下:

标题: Microsoft SQL Server Management Studio
------------------------------

无法访问数据库 Test。 (ObjectExplorer)

------------------------------
按钮:

确定
------------------------------

QQ截图20220522122252.jpg
最后附上权限说明:

'db_owner' --拥有数据库全部权限,包括删除数据库权限
'db_accessadmin' --只给数据库用户创建其他数据库用户的权限,而没有创建登录用户的权限。
'db_securityadmin' --可以管理全部权限、对象所有权、角色和角色成员资格
'db_ddladmin' --可以发出所有DDL(Create,Alter和Drop),但不能发出GRANT、REVOKE或DENY语句
'db_backupoperator' --允许对数据库进行备份和还原的权限【备份与还原是通过sql sever management studio也可以进行】
'db_datareader' --可以选择数据库内任何用户表中的所有数据
'db_datawriter' --可以更改数据库内任何用户表中的所有数据
'db_denydatareader' --不能查询数据库内任何用户表中的任何数据
'db_denydatawriter' --不能更改数据库内任何用户表中的任何数据

(完)





上一篇:【实战】jQuery Datatables 国际化插件
下一篇:【实战】使用 GitHub Actions 编译 OpenWRT 固件
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-5-22 15:21:07 | 显示全部楼层
又来学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 01:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表