一、用户
创建用户
1.
use test
create user zhang;
创建一个zhang用户,该用户只具有登陆test数据库的权限,不能进行其他操作。
2.
use test
create user zhu with resource;
创建一个zhu用户,该用户可以创建表格、视图,不能创建模式、用户,可以对其他用户再授予自己的权限。
3.
use test
create user wang with dba;
创建一个wang用户,该用户是超级用户,可以创建用户、模式、表格、视图、可以对表格进行更改,更新,可以授权给其他用户。
二、服务器角色和数据库角色,简单来说就是一些权限的集合 。
先将数据库角色
创建角色
1、use test
create role R;
这句是创建一个R角色,但是R角色并没有任何权限。
2、
use test
grant insert, delete
on student
to R;
这句sql语句是将插入和删除操作的权限授予了角色R,以后可以直接将角色R授予单个或则一些用户。
3、
use test
grant R
to zhu, wang;
这句sql语句是将角色R授予用户zhu和wang,他们都具有了R角色的权限,即插入和删除操作。
4、一次性收回权限,可以直接通过角色来完成。
use tes
revoke R
from zhu, wang;
这句sql语句就是将用户zhu和wang的插入和删除权限收回。
服务器角色
服务器角色是将对服务器的各种操作授予某个登陆名,登陆可以是用户名,也可以不是用户名,如sa是登录名,用户名是dbo。
相应的服务器角色对应相应的权限;
如下;
sysadmin
执行SQL Server中的任何动作,也是对任何数据库的任何操作的权限。
serveradmin
配置服务器设置,并可使用SHUTDOWN来停止实例的权限。
setupadmin
向该服务器角色中添加其他登录,添加、删除或配置链接的服务器,执行一些系统过程,如sp_serveroption。
securityadmin
用于管理登录名、读取错误日志和创建数据库许可权限的登录名,可以执行关于服务器访问和安全的所有动作。
processadmin
管理SQL Server进程,在实例中杀死其他用户进程的权限。
dbcreator
创建和修改数据库
diskadmin
管理物理数据库的权限。
bulkadmin
向数据库批量插入数据的权限(SqlServer2005中被添加进来)
public
本身不授予其他成员任何权限。只有连接权限。三、权限
1.将school数据库中student表格查询权限授给用户zhang,但是zhang不能再授给他人
use school
grant select
on student
to zhang;
2.将school中的student表格查询权限授给用户zhang,zhang可以再授给他人
use school
grant select
on student
to zhang
with grant option;
3.revoke回收权限
收回zhang的修改学生学号的权限
use school
revoke update(Sno)
on student
from zhang;