热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

为数据库建立对库只读用户sqlserver

在保密单位,可能在第三方审核单位要求下会要读取部分数据,这时候需要给他们单独建立一个用户防止意外或故意修改数据,sqlserver下可以对其进行简单的设置。首先建立用户,以下是服务器角色和用户映射的设

在保密单位,可能在第三方审核单位要求下会要读取部分数据,这时候需要给他们单独建立一个用户防止意外或故意修改数据,sqlserver下可以对其进行简单的设置。

首先建立用户,以下是服务器角色和用户映射的设置。

设置好之后,就可以达到对整个数据库的只读控制,这里用了datareader角色,表示只读,为了以防万一,我附加了denydatawriter角色,防止增删改操作。

效果如下:

 

另外,如果要控制到表上的话,这里引用一下网上找到的

 

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

推荐阅读
  • 在Sqlserver数据库历代版本当中,系统数据库有四个,master,model,msdb,tempdbmaster----记录SQLServer系统的所有系统级信息。这包括实例范围的元数 ... [详细]
  • SQLServer2008全套 数据库简介,分离,收缩,快照
    第三课视频笔记:联机丛书的使用附加和分离数据库---收缩数据库--------数据库快照 ... [详细]
  • 转载:http:www.crazycoder.cnDataBaseIndex.html查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设 ... [详细]
  • 【MSSQL】解决MSSQLSERVER连接服务器时候,输入IP无法连接的问题
    问题简述:登录MSSQLSERVER的时候,如果输入ip而导致无法登录,可以参考一下步骤,设置完成后即可使用ip登录数据库step1:step2:step3:step4 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
  • 在目标队列中对消息进行排队时出现异常。错误:15404,状态:19。CouldnotobtaininformationaboutWindowsNTgroupuserSERVER ... [详细]
  • 这篇文章主要讲解了“SQLServer与Access数据库ASP代码有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深 ... [详细]
  • SqlServer分区表概述(转载)
    什么是分区表一般情况下,我们建立数据库表时,表数据都存放在一个文件里。但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件 ... [详细]
  • php5.3.x访问sqlserver2005
    由于项目需要,临时用php访问Sqlserver数据库,于是配置mssql扩展,但是无法访问,按照网上各种dll文件copy都不成功,最后终于发现是php版本问题,我的版本是php5.3 ... [详细]
  • 本文主要介绍关于数据库,sql,sqlserver的知识点,对【数据库——概述】和【数据库到底要怎么做】有兴趣的朋友可以看下由【用编程写诗】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的数据库相 ... [详细]
  • Oracle将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Createtablet_user(Idnumber(6),use ... [详细]
  • Program.csusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threadi ... [详细]
author-avatar
孙俊啟66864
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有