--服务器角色:
--固定服务器角色具有一组固定的权限,并且适用于整个服务器范围。 它们专门用于管理 SQL Server,且不能更改分配给它们的权限。
--可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录。
--按照从最低级别的角色(bulkadmin)到*别的角色(sysadmin)的顺序进行描述:
--1、Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句。这条语句允许从文本文件中将数据导入到SQLServer 2008数据库中,
-- 为需要执行大容量插入到数据库的域账户而设计。
--2、Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,
-- 也可能是适合开发人员的角色。
--3、Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。
--4、Processadmin:SQLServer 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。
-- 例如,SQLServer 2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。
-- 这个角色的成员可以结束(在SQLServer 2008中称为删除)进程。
--5、Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。
-- 也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQLServer 2008登录名的密码。
--6、Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。
-- 例如SQLServer 2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。
--7、Setupadmin:为需要管理链接服务器和控制启动的存储过程的用户而设计。
-- 这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。
--8、Sysadmin:这个服务器角色的成员有权在SQLServer 2008中执行任何任务。
--9、Public:有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。
--数据库角色
--固定数据库角色具有一组预定义的权限,这些权限旨在允许您轻松管理权限组。 db_owner 角色的成员可对数据库执行所有配置和维护活动。
--微软提供了9个内置的角色,以便于在数据库级别授予用户特殊的权限集合
--db_owner:该角色的用户可以在数据库中执行任何操作。
--db_accessadmin:该角色的成员可以从数据库中增加或者删除用户。
--db_backupopperator:该角色的成员允许备份数据库。
--db_datareader:该角色的成员允许从任何表读取任何数据。
--db_datawriter:该角色的成员允许往任何表写入数据。
--db_ddladmin:该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。
--创建一个登录用户
create login Diviner
with
password='825991',
default_database=WangPing
--使用存储过程,为新建登录用户授予Diskadmin角色
exec sp_addsrvrolemember 'Diviner','Diskadmin'
--为登录账户创建数据库账户,完成登录用户的和数据库账户映射起来,一般建议将数据库用户和登录用户名保持一致
create user Diviner for login Diviner with default_schema=dbo
--使用存储过程,为新建数据库用户授权给具有执行ddl的权限
exec sp_addrolemember 'db_ddladmin','Diviner'
--授权给我们新创建的用户
Grant select,update,delete,insert
ON T_Mystudents
to Diviner
--回收权限
revoke select,insert,update,delete
on T_Mystudents
from Diviner
--创建一个角色(并且将角色自动的分配给用户)
create role manager authorization Diviner
----将角色分配给用户Divinier(不可用)
--grant manager
--to Diviner
----将分配给用户Divinier分配给用户的manager角色(不可用)
--revoke manager
--from Diviner cascade
--删除角色
drop role manager
--给角色授权
grant select,insert,delete,update
on T_Mystudents
to manager
--回收角色的权限
revoke select,insert,delete,update
on T_Mystudents
from manager
--删除数据库用户
drop user Diviner
--删除登录用户
drop login Diviner