目录
文章目录
1. 概述
在SQL Server中,用户和角色都是分为服务器级别和数据库级别的。
2. 服务器级别
2.1 服务器级用户(即:登录名)
服务器级别下的登录名是指:有权限登录到某个SQL Server服务器的用户。
例如:超级管理员的登录名是sa;
登录名具体位置在: 数据库——>安全性——>登录名
2.2 服务器级角色
服务器级角色是指:为帮助您管理服务器上的权限,SQL Server 提供了若干角色,这些角色是用于对其他主体进行分组的安全主体。
服务器级角色的权限作用域为服务器范围。SQL Server 提供了九种固定服务器角色, 无法更改授予固定服务器角色的权限,这9组角色分别如下:
- sysadmin —— 在SQL Server中进行任何活动,该角色的权限跨越所有其它固定服务器角色;
- serveradmin —— 更改服务器范围内的配置选项并关闭服务器;
- setupadmin —— 添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption);
- securityadmin —— 授予数据库引擎的访问权限和配置用户权限的能力使得安全管理员可以分配大多数服务器权限,securityadmin 角色应视为与sysadmin 角色等效;
- processadmin —— 管理在 SQL Server 实例中运行的进程;
- dbcreator —— 创建和改变数据库,但是没有读取权限;
- diskadmin —— 管理磁盘文件;
- bulkadmin —— 执行 BULK INSERT 语句;
- public —— 每个 SQL Server 登录名均属于 public 服务器角色。 如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的 public 角色的权限。当您希望该对象对所有用户可用时,只需对任何对象分配 public 权限即可。您无法更改 public 中的成员关系。public 的实现方式与其他角色不同,但是,可以从 public 授予、拒绝或撤销权限。
服务器角色具体位置在: 数据库——>安全性——>服务器角色
注意:
登录名一定属于某些角色,默认为public;
服务器角色不允许更改;
登录后也不一定有权限操作数据库;
3. 数据库级别
3.1 数据库级用户
数据库级用户是指:有权限能操作(比如:增删查改等权限)数据库的用户。
用户具体位置在 数据库——>某个具体库——>安全性——>用户
3.2 数据库级角色
SQL Server 中有两种类型的数据库级角色: