热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlserver给指定用户授权访问指定表

一、背景外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表二、sqlserver脚本

 

一、   背景

 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表

 

二、sqlserver 脚本

---创建视图
CREATE VIEW [dbo].[View_RunningData] AS SELECT TOP (100) PERCENT a.areaorganize, c.F_FullName AS areaorganizeName, a.recorddate, d.F_ItemCode, d.F_ItemName, a.value FROM dbo.ITEM_RECORD AS a LEFT OUTER JOIN dbo.Sys_Organize AS c ON a.areaorganize = c.F_Id LEFT OUTER JOIN dbo.Sys_ItemsDetail AS d ON a.itemid = d.F_Id LEFT OUTER JOIN dbo.Sys_Items AS e ON d.F_ItemId = e.F_Id LEFT OUTER JOIN dbo.Sys_Items AS f ON e.F_ParentId = f.F_Id WHERE (f.F_EnCode = 'YXSJ') ORDER BY a.recorddate, d.F_ItemCode

  

---指定指定用户授权访问指定表
exec sp_addrole 'seeview' GRANT SELECT ON View_RunningData TO seeview exec sp_addlogin 'yhsjjk','yh123','DA_Dev517' exec sp_adduser 'yhsjjk','yh123','seeview'

  

二、   分析

1、 在sql server中选择好要操作的数据库角色。

 

2、 当前数据库创建角色(新建权限seeview)  

  exec sp_addrole 'seeview' 

 

3、 给予创建角色的权限,分配视图权限

( 意思是指定视图列表 指定seeview这个角色可以查看的视图表名称;也就是这个角色可以查看下面赋予这些视图信息,除此之外的所有的东西都看不到)

   GRANT SELECT ON  View_RunningData TO seeview

  

4、 添加只允许访问指定视图的用户: exec sp_addlogin '登录名','密码','默认数据库名

      注:此处可能执行不了,要求密码强度,那就自己手工创建

    exec sp_addlogin 'yhsjjk','yh123','DA_Dev517'

  

 5、 添加只允许访问指定视图的用户到rCRM角色中: exec sp_adduser '登录名','用户名','角色' 

  exec sp_adduser 'yhsjjk','yh123','seeview'

 

  

三、  操作步骤

1、选择要访问的数据库,执行视图脚本,视图创建成功。

 

 

2、给指定的用户授权访问指定表,点击执行数据脚本,脚本执行成功。

 

 

3、登陆名,密码创建成功。

 

 

4、用户授权成功,只能查看指定的视图。

 


推荐阅读
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
  • 关于SQLSERVER的全文目录跟全文索引的区别
    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ... [详细]
  • SQLServer2008全套 数据库简介,分离,收缩,快照
    第三课视频笔记:联机丛书的使用附加和分离数据库---收缩数据库--------数据库快照 ... [详细]
  • 这篇文章主要讲解了“SQLServer与Access数据库ASP代码有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • SqlServer级联删除两种实现方法:触发器,外键
    --触发器createtrigger[dbo].[tri_account]on[dbo].[account]fordeleteasdeleteaccountBackwhe ... [详细]
  • 当当开源shardingjdbc,轻量级数据库分库分表中间件详解数据库
    近期,当当开源了数据库分库分表中间件sharding-jdbc。Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框 ... [详细]
  • 本文主要介绍关于asp.net,visualstudio,sqlserver的知识点,对【asp.net小说网站案例】和【asp.net电商项目】有兴趣的朋友可以看下由【师哥帮忙】投稿的技术文章,希 ... [详细]
  • 1.3.4ProfilerSQLServerProfiler是一个图形化的管理工具用于监督记录和检查SQLServer数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍1. ... [详细]
  • 微软平台的软件开发系统中,有着一套自己的约定规则。熟悉.net开发的都会对异常处理不陌生,现阶段的各种编程语言中,都不乏异常处理机制,个中原理也都大同小异。sqlserver在批处 ... [详细]
  • Java连接SqlServer2008数据库(转)
    Java连接SqlServer2008数据库首先下载JDBC:下载地址:http:www.microsoft.comzh-cndownloaddetails.aspx?id21599下载 ... [详细]
  • 在Sqlserver数据库历代版本当中,系统数据库有四个,master,model,msdb,tempdbmaster----记录SQLServer系统的所有系统级信息。这包括实例范围的元数 ... [详细]
  • 在目标队列中对消息进行排队时出现异常。错误:15404,状态:19。CouldnotobtaininformationaboutWindowsNTgroupuserSERVER ... [详细]
author-avatar
杨祐书2257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有