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无法添加、修改或删除任何用户表或视图中的数据。

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

  1. --先创建测试库test_tmp
  2. --根据现有的表创建两张表
  3. SELECT TOP 100 * INTO test_tab1 FROM mistest_09428.dbo.squarer;
  4. SELECT TOP 100 * INTO test_tab2 FROM mistest_09428.dbo.squarer;
  5. --创建角色
  6. EXEC sp_addrole 'test_role1' ;
  7. --分配select的权限给角色test_role1
  8. GRANT SELECT ON test_tab1 TO test_role1;
  9. GRANT SELECT ON test_tab2 TO test_role1;
  10. --add登陆dap570,密码dap570,默认库为test_tmp
  11. EXEC sp_addlogin 'dap570','dap570','test_tmp';
  12. --给dap570添加帐户test
  13. EXEC sp_grantdbaccess 'dap570','test'
  14. --将角色test_role1分配给text
  15. EXEC sp_addrolemember 'test_role1','test';
  16. --over
  17. --换dap570来登录数据库test_tmp
  18. --然后测试
  19. /*
  20. DELETE FROM  test_tab1
  21. INSERT INTO test_tab1(ingotno) VALUES('2222')
  22. UPDATE test_tab1 SET ingotno = '3333'
  23. */

sqlserver 新建只读权限用户的更多相关文章

  1. kubernetes实战篇之创建一个只读权限的用户

    系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行 ...

  2. 【SQLSERVER】如何设置权限用户

    一.设置权限用户的意义 SQLSERVER 数据库有两个登录方式,一个是 Windows 身份验证方式 ,另一个是 SQLSERVER 身份验证方式(sa用户): 1, Windows 身份验证方式, ...

  3. MySQL, 创建一个只读用户和一个所有权限用户

    安装pasa需要配置mysql.基本知识学习一下 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html MySQL 为关系型数据库 ...

  4. MongoDB之【增加用户认证、增加用户、删除用户、修改用户密码、读写权限、只读权限】

    说明:增加用户是针对数据库进行操作 1.进入到数据库 use dbname 2.针对当前数据库添加用户 权限是针对当前数据 1.添加并验证用户 > use admin > db.addUs ...

  5. Jenkins配置匿名用户拥有只读权限

    场景:查看cucumber reporting测试报告时需要登陆,比较麻烦 解决:允许匿名用户拥有只读权限 操作:Jenkins->系统管理->全局安全配置->授权策略,勾选“All ...

  6. MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限

    1.添加并验证用户 > use admin> db.addUser("zjx","tsjianxin") #添加用户 > db.auth(&q ...

  7. oracle给用户分配特定用户下特定表的只读权限

    以下是测试过程,测试环境oracle 11.2.0.3 linux平台: 模拟将HR用户下的employees表的只读权限非配给test_ycr创建用户:SQL> create user tes ...

  8. MongoDB增加用户、删除用户、修改用户读写权限及只读权限(注:转载于http://www.2cto.com/database/201203/125025.html)

    MongoDB  增加用户 删除用户  修改用户  读写权限 只读权限,   MongoDB用户权限分配的操作是针对某个库来说的.--这句话很重要.   1. 进入ljc 数据库:       use ...

  9. Oracle 创建用户,赋予指定表名/视图只读权限

    步骤指南 创建用户 格式:; 语法:create user 用户名 identified by 密码; 注:密码不行的话,前后加(单引号):' create user TEST identified ...

随机推荐

  1. PHP-Manual的学习----【序言】

    2017年6月27日16:57:32 学习资料:2015-PHP-Manual 打好坚实的基础是做任何事的前提 序言: 笔记: 1.PHP,即"PHP: Hypertext Preproce ...

  2. commons-dbutils:1.6 ——java.sql.SQLException: 不支持的特性

    描述:使用jdbc创建连接后,使用commons-dbutils-1.6 数据库工具类,查询报错如下:java.sql.SQLException: 不支持的特性 Query: 经过测试跟踪在commo ...

  3. 驱动程序分层分离概念_总线驱动设备模型_P

    分层概念: 驱动程序向上注册的原理: 比如:输入子程序一个input.c作为一层,下层为Dev.c和Dir.c,分别编写Dev.c和Dir.c向上Input.c注册:如图所示 分离概念: 分离概念主要 ...

  4. 【BZOJ2728】[HNOI2012]与非 并查集+数位DP

    [BZOJ2728][HNOI2012]与非 Description Input 输入文件第一行是用空格隔开的四个正整数N,K,L和R,接下来的一行是N个非负整数A1,A2……AN,其含义如上所述.  ...

  5. 【BZOJ3698】XWW的难题 有上下界的最大流

    [BZOJ3698]XWW的难题 Description XWW是个影响力很大的人,他有很多的追随者.这些追随者都想要加入XWW教成为XWW的教徒.但是这并不容易,需要通过XWW的考核.XWW给你出了 ...

  6. 【BZOJ2081】[Poi2010]Beads hash+调和级数

    [BZOJ2081][Poi2010]Beads Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串), ...

  7. iOS解决导航引起视图高度问题

    经过导航栏跨越的坑,总结出有两种方法可以无痕解决(前提>=iOS7版本)(TabBar与导航栏类似) 1.通过设置导航栏的透明度实现(这种方式的控制器view的起始坐标是充(0,64)开始的) ...

  8. MySQL合并多行

    select id,group_concat(re_id order by re_id separator ",") as re_idfrom tablenamegroup by ...

  9. 我的Android进阶之旅------>如何将Android源码导入Eclipse中来查看(非常实用)

    Android源码下载完成的目录结构如如所示: step1:将.classpath文件拷贝到源代码的根目录 Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开 ...

  10. pymysql插入datetime类型

    第一种 create_time=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") 第二种 update_time=time ...