SQL Server中如何给指定的数据库创建只读用户?

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 在SQL Server 中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下面我们就创建一个只读用户,给大家学习使用。

创建访问指定数据库的只读用户

1、首先打开【Microsoft SQLServer Management Studio】,用管理员账户登录。这里我选的服务器是【local】,账户是【windows身份验证】,如果是连接远程的服务器,输入远程服务器地址和账号密码即可。

10.jpg

2、找到【安全性】,打开,可以看到【登录名】,在上面右键。

11.jpg

3、选择【新建登录名】

12.jpg


4、在【常规】选项中,输入登录名,选择身份验证方式。这里我选用了【SQL Server 身份验证】同时,我勾掉了【强制实施密码策略】13.jpg


5、在右侧的【用户映射】选项卡中,【映射到此登录名的用户】选择该用户可以操作的数据库。针对每一个数据库,在下方【数据库角色成员身份】中,选择【db_datareader】,同时默认架构中也选择【db_datareader】

image.jpeg

6、这样,一个只读用户就建立好了,用此用户登录时,就只能对映射的数据库进行只读访问了。


添加只读用户查看存储过程权限

而当我们设置只给某些用户授权只读权限时(即public),这些用户可能需要查看sql的存储过程;因此需要授权给它。第一步:使用sa用户进入数据库,在安全性中找到改用户右键-属性第二步:找到安全对象-点击搜索


image.jpeg

第三步:在弹出的窗口中找到服务器名


image.jpeg


第四步:在下列的选择框中找到”查看任意定义“勾上保存,并重启数据库服务,mssqlserver,重启后注意要启动SQL代理,因为重启mssqlserver时会把它停掉。

image.jpeg


创建一个只读账户具体步骤

1、进入sqlserver management studio2、选择安全性->登录名->右键新建登录名3、在常规里输入用户名和密码4、在"用户映射"里“映射到此登录名的用户”选择该用户可以操作的数据库5、在“数据库角色成员身份”里选择"db_datareader"6、这样一个只读用户就创建完成了。


服务器角色参考

bulkadmin 可以运行 bulk insert 语句dbcreator 创建,修改,删除,还原任何数据库

diskadmin 管理磁盘文件

processadmin 可以终止在数据库引擎实例中运行的程序

securityadmin 可以管理登录名及其属性,具有grant,deny,和revoke服务器和数据库级别权限,还可以重置sql server 登录名的密码

serveradmin 可以更改服务器范围的配置选项和关闭服务器

setupadmin 可以添加和删除链接服务器,并对可以执行某些系统执行存储过程(如,sp_serveroption)

sysadmin 在sql server中进行任何活动,该觉得的权限跨越所有其他固定服务器角色,默认情况下,windows builtin\admin组(本地管理员组)的所有成员都是sysadmin


固定服务器角色的成员

用户映射参考 (可以对数据库的数据进行操作)db_owner 可以执行数据库中技术所有动作的用户

db_accessadmin 可以添加,删除用户的用户

db_datareader 可以查看所有数据库中用户表内数据的用户

db_datawrite 可以添加,修改,删除所有数据库用户表内数据的用户

db_ddladmin 可以在数据库中执行ddl操作的用户,DDL(Data Definition Language)数据表的创建以及管理

db_securityadmin 可以管理数据库中与安全权限有关所有动作的用户

db_backoperator 可以备份数据库的用户(可以发布dbcc和checkPoint语句,这两个语句一般在备份前使用

db_denydatareader 不能看到数据库中任何数据的用户

db_denydatawrite 不能修改数据库中任何数据的用户以上就是今天分享给大家的内容,可以自己动手试试,用新建的用户登录看效果如何。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
13天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
12天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
23天前
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
134 11
|
19天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
19天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
24天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
22 2