数据控制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 ‘角色名’ --删除自定义数据库角色
一个小白的笔记