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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 在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 不能修改数据库中任何数据的用户以上就是今天分享给大家的内容,可以自己动手试试,用新建的用户登录看效果如何。

相关文章
|
2月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
339 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
1月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
172 6
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
274 8
|
3月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
401 8
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
256 5
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
695 0
|
4月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
420 0

热门文章

最新文章