首先我们来阐述服务器(实例级别)的权限,实例级别和数据库级别权限的最大不同在于:实例级别的权限是直接授权给登录名,而数据库级别的全显示授予数据库用户的,然后数据库用户再与登录名匹配。(再SqlServer中,登录名和用户是两个概念,登录名用于登录到数据库实例,而用户位于数据库之内,用于和登录名匹配)

举例:

--指定登录名为dbtester,并且创建test数据库中的用户tester1
execute sp_grantdbaccess ‘dbtester’,'tester1'

在服务器(实例)范围内,对于不同的对象也可以授予不同的权限,主要有以下几种:端点,登录名,高可用性组,自定义服务器角色,固定服务器角色。利用sys.server_principals和sys.server_permissions 这两个视图可以查看已经被授予的权限。

示例:

其中我们要注意,Control Server 授予用户超级管理员的权限,可以让用户拥有对SqlServer的最高控制权,所以一般不要授予这个权限。

重点介绍一下固定服务器的角色,一共是九个分别是:

sysadmin
执行SQL Server中的任何动作,也是对任何数据库的任何操作的权限。

serveradmin
配置服务器设置,并可使用SHUTDOWN来停止实例的权限。

setupadmin
向该服务器角色中添加其他登录,添加、删除或配置链接的服务器,执行一些系统过程,如sp_serveroption。

securityadmin
用于管理登录名、读取错误日志和创建数据库许可权限的登录名,可以执行关于服务器访问和安全的所有动作。

processadmin
管理SQL Server进程,在实例中杀死其他用户进程的权限。

dbcreator
创建和修改数据库

diskadmin
管理物理数据库的权限。
bulkadmin

向数据库批量插入数据的权限(SqlServer2005中被添加进来)

public

本身不授予其他成员任何权限。只有连接权限。

固定数据库角色在数据库层上进行定义,因此它们存在于属于数据库服务器的每个数据库中。列出了所有的固定数据库角色。

db_owner
可以执行数据库中技术所有动作的用户

db_accessadmin
可以添加、删除用户的用户

db_datareader
可以查看所有数据库中用户表内数据的用户

db_datawriter
可以添加、修改或删除所有数据库中用户表内数据的用户

db_ddladmin
可以在数据库中执行所有DDL操作的用户

db_securityadmin
可以管理数据库中与安全权限有关所有动作的用户

db_backoperator
可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)

db_denydatareader
不能看到数据库中任何数据的用户

db_denydatawriter
不能改变数据库中任何数据的用户

参考:http://www.cnblogs.com/dannyli/archive/2012/09/18/2690740.html

SqlServer服务器和数据库角色的更多相关文章

  1. SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作

    /*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ...

  2. SQLServer中服务器角色和数据库角色权限详解

    角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数 ...

  3. sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系

    原创链接:https://www.cnblogs.com/lxf1117/p/6762315.html sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户 ...

  4. SQL Server 登录名、服务器角色、用户名和数据库角色 --- 解释

    一.基本解释 登录名:登录服务器的用户账号: 服务器角色:登录名对该服务器具有的权限,角色分多种的,一个角色可以有多个登录名,如操作系统的系统用户可以有多个. SQL服务器角色  sysadmin   ...

  5. Microsoft SQL Server 数据库服务器管理维护角色

    固定服务器角色: 按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: Bulkadmin:这个服务器角色的成员可以运行BULK INSERT语句.这条语句允 ...

  6. sqlserver 服务器主体 无法在当前安全上下文下访问数据库

    今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误: sqlserver 服务器主体 无法在当 ...

  7. SQLServer 创建服务器和数据库级别审计

    概述 在上一篇文章中已经介绍了审计的概念:本篇文章主要介绍如何创建审计,以及该收集哪些审核规范. 一.常用的审核对象 1.1.服务器审核对象 1.FAILED_LOGIN_GROUP( Audit L ...

  8. SQLServer之删除用户定义的数据库角色

    删除用户定义的数据库角色注意事项 无法从数据库删除拥有安全对象的角色. 若要删除拥有安全对象的数据库角色,必须首先转移这些安全对象的所有权,或从数据库删除它们. 无法从数据库删除拥有成员的角色. 若要 ...

  9. SQLServer更改用户定义的数据库角色

    更改用户定义的数据库角色注意事项 需具有以下一项或多项权限或成员身份才能运行此命令: 对角色具有 ALTER 权限 对数据库具有 ALTER ANY ROLE 权限 具有 db_securityadm ...

随机推荐

  1. jquery属性选择器(匹配具有指定属性的元素)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. XE8 FMX SpeedButton 大图标(改 Style)

    自从 XE8 提供 ImageList 带来了很多便利,但 SpeedButton 的图标太小(不够大气),还好 FMX 提供了 Style 可供使用者自订图标大小及显示位置,请自行按图索骥,做一遍: ...

  3. hibernate3

    hibernate3 (整合到spring中的core核心配置中的hibernate3) <!-- 基于hibernate的Session工厂 --> <bean id=" ...

  4. 2016 年沈阳网络赛---QSC and Master(区间DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5900 Problem Description Every school has some legend ...

  5. Scalaz(0) - 写在前面

    面向对象编程范畴(OOP)从80年代C++到90年代java的兴起已经经历了几十年的高潮,是不是已经发展到了尽头,该是函数式编程(FP)开始兴旺发达的时候了吧.这样说似乎心眼儿有点坏,可能会得罪当今大 ...

  6. GJM:用C#实现网络爬虫(二) [转载]

    上一篇<用C#实现网络爬虫(一)>我们实现了网络通信的部分,接下来继续讨论爬虫的实现 3. 保存页面文件 这一部分可简单可复杂,如果只要简单地把HTML代码全部保存下来的话,直接存文件就行 ...

  7. spring mvc WebArgumentResolver不生效

    WebArgumentResolver: SPI for resolving custom arguments for a specific handler method parameter. Typ ...

  8. excel下划线转驼峰公式

    最近为了省事,决定从excel将表结构生成jquery.datatable的json对象结构,其中要把下划线转驼峰,如下: =LEFT(C251,1)&MID(SUBSTITUTE(PROPE ...

  9. jquery.datepair日期时分秒选择器

    jquery.datepair是一个轻量级的jQuery插件,智能选择日期和时间范围,灵感来自于谷歌日历.Datepair将保持开始和结束日期/时间同步,并可以根据用户的操作设置默认值.该插件不提供任 ...

  10. 钉钉客户端JS-API权限签名算法.NET版

    前段时间写了一篇博文<钉钉如何进行PC端开发>,在里面并未解决本地生成签名的问题,需要到官网进行生成,由于钉钉门票等认证信息会超期,因此,必须能本地用代码自动更新相关参数信息,来换取签名. ...