数据控制DCL

一、数据安全性

1.用户表示和鉴别

2.存取控制

3.定义视图

4.审计

5.数据加密

 

二、服务器级安全:

登入名(windows账号登入、账号密码登入)

默认登入账号:1.BUILTIN\Administrators 2.sa(管理员账号,默认禁用,需启用)

 

创建SQLsever登入账号

create login 登入名
[with password=‘’
[must_change]
[,default_darabase=数据库名] --下次登录强制修改密码
[,check_expiration={on|off}]--强制实施过期密码策略
[,check_policy={on|off}]      --强制实施密码策略
]

删除登入账号

sp_droplogin  '<登入账号>'
drop login <登入账号>

 

三、数据库级安全:进入数据库,没有操作权限

新建用户

create user 用户名 for login 登入名

 

四、权限控制

授予权限

grant 权限 on 对象(表、视图)  to 用户名 with grant option
--with grant option 可使这个用户拥有给其他用户授权的权利

 

回收权限

revoke 权限 on 对象(表、视图)  from 用户名 [cascade]
--cascade 回收直接赋予的权限

禁止权限

deny 权限 on 对象(表、视图)  to 用户名

 

 

 

五、默认数据库用户

dbo

1.每个数据库都有一个dbo用户,且不能删除

2.dbo是数据库的拥有者

3.每个SQLsever 服务器登入账号在其创建的数据库中都映射为dbo用户

4.sa映射为所有系统数据库的dbo用户

 

guest

1.每个数据库都有一个guest用户

2.默认guest没有任何权限

3.guest需要启用后才有效

4.一个没有映射到数据库用户的SQL sever服务器登录账号试图访问数据库时,SQLsever将尝试通过guest用户访问

 

六、角色管理

 

 

角色

固定服务器角色

 

 

sp_addsrvrolemember ‘<登录账号>’,'服务器角色'  --添加成员

sp_dropsrvrolemember ‘<登录账号>’,'服务器角色' --删除成员

 

 

 

固定数据库角色

 

 

自定义数据库角色

sp_addrole '角色名'     --创建自定义数据库角色
sp_addrolemember '角色','用户'      

sp_droprole  ‘角色名’  --删除自定义数据库角色

 

 

 

 

posted @ 2020-05-25 09:58  羽若星辰  阅读(386)  评论(0编辑  收藏  举报