服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

如何给指定数据库创建只读用户?

日期: 来源:SQL数据库开发收集编辑:

点击关注公众号,SQL干货及时获取

后台回复:1024,获取海量学习资源

在SQL Server 中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下面我们就创建一个只读用户,给大家学习使用。

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

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


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

3、选择【新建登录名】

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

5、在右侧的【用户映射】选项卡中,【映射到此登录名的用户】选择该用户可以操作的数据库。针对每一个数据库,在下方【数据库角色成员身份】中,选择【db_datareader】,同时默认架构中也选择【db_datareader】
6、这样,一个只读用户就建立好了,用此用户登录时,就只能对映射的数据库进行只读访问了。


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

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

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

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

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

1、进入sqlserver management studio
2、选择安全性->登录名->右键新建登录名
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两件套:《SQL基础知识第二版》《SQL高级知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。

有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行
数据前线
——End——

后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群。

推荐阅读

    相关阅读

    • 不确定的时代,做品牌才是正经事

    • 营销圈有个观点:做促销是挣今天的钱,做品牌是挣明天的钱。这句话在很长一段时间都是对的。做品牌确实是一个烧钱多,周期长,见效慢,难估量的商业模式。但近三年内,在这个堪称人类进
    • 搜索框,下一个流量蓝海

    • 互联网的流量红利很多时候是依托产品实现的,比如,红包让更多人在微信上绑定了银行卡,直播工具催生了直播电商,拼单工具帮助拼多多崛起,而沉浸式短视频,让抖音成为了字节跳动最核心
    • 场景化前置——带来幸福感的机票亲子设计

    • 场景化前置,尽可能早的确定用户是谁,才能更好的为用户设计其所需要的功能和服务,更好的提升用户的使用体验。全文2308字 阅读约8分钟什么是场景化前置?场景化设计其实提了很多年
    • B端设计-表格数据过滤

    • 表格被公认为是展现结构化数据最为清晰、高效的形式,除了表格本身的结构,我们需要提供贴合场景的数据过滤方式,辅助用户快速查询定位数据。如何设计一个好的表格数据过滤体验,本
    • 运营设计的那些思考与技巧

    • 早期的设计主要靠感觉和审美,慢慢的设计越来越讲究方法论和心理学,以后还可以再加一种,那就是依靠数据,它将让每个人都能获益。本文将从什么是好的运营设计出发分析运营设计师如

    热门文章

    • “复活”半年后 京东拍拍二手杀入公益事业

    • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

    最新文章

    • 如何给指定数据库创建只读用户?

    • 点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源在SQL Server 中,为了保护数据库的安全,需要给不同的使用者开通不同的访问用户,那么如何简单的控制用户的权限呢?下
    • SQL每日一题(20221102)

    • 点击关注公众号,SQL干货及时获取后台回复:1024,获取海量学习资源题目写一个查询语句要求求出整数1到100之间排除55后的和预计结果是4995该如何写这个查询?参考答案应读者的要求,
    • 快来,疯狂戴夫喊你来清理草坪了!

    • 鹅友们,感觉怎么样?今天抗拒上班这件事全国应该是统一的吧鹅寻思着,这生物钟刚调整为假期模式怎么就开始工作了呢?这种时刻咱就要来搞点刺激的清醒清醒来!music!战歌一响,谁的dna动