sqlserver 新建只读权限用户

摘要:
serveradmin可以设置服务器范围的配置选项,关闭服务器。securityadmin可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。processadmin可以管理在SQLServer中运行的进程。dbcreator可以创建、更改和除去数据库。db_accessadmin添加或删除Windows用户、组和SQLServer登录的访问权限。db_datareader读取所有用户表中的所有数据。db_securityadmin修改角色成员身份并管理权限。如果要对SQLServer表分配只读权限,应该如何实现呢?下面就教您针对SQLServer表的只读权限分配方法,希望对您学习SQLServer表权限方面有所启迪。

1,新建只能访问某一个表的只读用户。

--添加只允许访问指定表的用户:
execsp_addlogin'用户名','密码','默认数据库名'
--添加到数据库
execsp_grantdbaccess'用户名'
--分配SELECT整表权限
GRANTSELECTON表名TO[用户名]
--分配SELECT权限到具体的列
GRANTSELECTON表名(id,AA)TO[用户名]

例如:

--添加只允许访问指定表的用户:
execsp_addlogin'read','123456','test'
execsp_grantdbaccess'read'
--分配SELECT整表权限

GRANTSELECTONdbo.UserCardsTO[read]

2,新建访问整一个数据库的只读用户

--添加只允许访问指定表的用户:
execsp_addlogin'用户名','密码','默认数据库名'
--添加到数据库
execsp_grantdbaccess'用户名'
--添加到角色
execsp_addrolemember'db_datareader','用户名'

3,固定服务器角色

sysadmin
可以在SQLServer中执行任何活动。

serveradmin
可以设置服务器范围的配置选项,关闭服务器。

setupadmin
可以管理链接服务器和启动过程。

securityadmin
可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。

processadmin
可以管理在SQLServer中运行的进程。

dbcreator
可以创建、更改和除去数据库。

diskadmin
可以管理磁盘文件。

bulkadmin
可以执行BULKINSERT语句。

4,(用户映射)数据库角色成员身份

db_owner执行数据库中的所有维护和配置活动。
db_accessadmin添加或删除Windows用户、组和SQLServer登录的访问权限。
db_datareader读取所有用户表中的所有数据。
db_datawriter添加、删除或更改所有用户表中的数据。
db_ddladmin在数据库中运行任何数据定义语言(DDL)命令。
db_securityadmin修改角色成员身份并管理权限。
db_backupoperator备份数据库。
db_denydatareader无法读取数据库用户表中的任何数据。
db_denydatawriter无法添加、修改或删除任何用户表或视图中的数据。

如果要对SQLServer表分配只读权限,应该如何实现呢?下面就教您针对SQLServer表的只读权限分配方法,希望对您学习SQLServer表权限方面有所启迪。

  1. --先创建测试库test_tmp
  2. --根据现有的表创建两张表
  3. SELECTTOP100*INTOtest_tab1FROMmistest_09428.dbo.squarer;
  4. SELECTTOP100*INTOtest_tab2FROMmistest_09428.dbo.squarer;
  5. --创建角色
  6. EXECsp_addrole'test_role1';
  7. --分配select的权限给角色test_role1
  8. GRANTSELECTONtest_tab1TOtest_role1;
  9. GRANTSELECTONtest_tab2TOtest_role1;
  10. --add登陆dap570,密码dap570,默认库为test_tmp
  11. EXECsp_addlogin'dap570','dap570','test_tmp';
  12. --给dap570添加帐户test
  13. EXECsp_grantdbaccess'dap570','test'
  14. --将角色test_role1分配给text
  15. EXECsp_addrolemember'test_role1','test';
  16. --over
  17. --换dap570来登录数据库test_tmp
  18. --然后测试
  19. /*
  20. DELETEFROMtest_tab1
  21. INSERTINTOtest_tab1(ingotno)VALUES('2222')
  22. UPDATEtest_tab1SETingotno='3333'
  23. */

免责声明:文章转载自《sqlserver 新建只读权限用户》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MVVM(使用Prism框架)开发WPFubuntu 设置apt-get 代理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

图数据库

1、为什么需要图数据库 我们假设这样一种特殊的查询场景:找出开发商是XXX,小区绿化率大于30%,周边200米有大型超市,500米有地铁,1000米有三甲医院,2000米有升学率超过60%的高中,房价在800W以内,最近被经纪人带看次数最多的房子。 这可能是一个客户想要的房子,但是各位觉得有哪个产品可以支持么? 如果说我们用传统的关系型数据库,MySQL或...

服务器性能自动化测试脚本

1.自动化测试脚本unixbench yum install -y wgetwget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.shchmod +x unixbench.sh./unixbench.sh 115.231.102.80: Dou...

MySQL在linux上的rpm包方式安装方法

1、下载上传mysql server和client rpm包: [root@faspdev mnt]# ls MySQL-client-5.5.53-1.el6.x86_64.rpm MySQL-server-5.5.53-1.el6.x86_64.rpm 2、安装mysql数据库: 1)安装mysql server端rpm包: [root@faspdev...

在Navicat中如何新建数据库和表并做查询

上一篇文章,小编给大家分享了在Navicat中如何远程连接数据库,没有来得及上车的小伙伴可以戳这篇文章:在Ubuntu14.04中配置mysql远程连接教程。今天小编给大家分享一下如何在Navicat中新建数据库和表。 用过远程连接数据库工具的小伙伴都知道,在Navicat中新建数据库和表并不太难,具体的教程如下所示。在这里依然以IP地址为192.168....

dpdk test + dpdk-procinfo

https://www.geek-share.com/detail/2586671676.html ABI_VERSION buildtools devtools GNUmakefile MAINTAINERS mk app config...

PHP-mysql存储照片的两种方式

PHP-mysql存储照片的两种方式 方式一:把图片数据存储在数据库中(二进制) 数据库代码: CREATE TABLE `photo` ( `id` int(10) unsigned NOT NULL auto_increment, `type` varchar(100) NOT NULL, `binarydata` mediumblob NOT NUL...