sql学习总结(10)——安全性控制技术
10.1管理登录账号
创建登录账号语法格式:
sp_addlogin 登录账号的登录名,登录密码,默认数据库,默认语言,安全码,是否加密
在是否加密选项中,NULL表示对密码加密。SKIPENCRYPTION表示对密码不加密。SKIPENCRYPTIONOLD,只对SQL Server升级时使用,表示旧版本已对密码加密。
修改登录账号语法格式:
修改密码:sp_password 旧密码,新密码,指定登录账号
修改默认数据库:sp_defaultdb 指定登录账号,默认数据库
修改默认语言:sp_defaultlanguage 指定登录账号,默认语言
查看登录账号:sp_helplogins 指定登录账号
删除登录账号:sp_droplogin 指定登录账号
10.2管理数据库用户
创建数据库用户:sp_grantdbaccess 登录账号,数据库用户名
查看所有数据库用户名:sp_helpuser
查看指定数据库用户:sp_helpuser 数据库用户名
删除数据库用户:sp_revokedbaccess 指定数据库名
注意:要创建与删除数据库用户,必须有db_owner或db_access_admin数据库角色执行。
10.3管理服务器角色
添加服务器角色成员:sp_addsrvrolemember 登录账号名,服务器角色名
删除服务器角色成员:sp_dropsrvrolemember 登录账号名,服务器角色名
注意:服务器角色适用于服务器范围内,并且其权限不能被修改,对服务器角色只能有两种操作,向服务器角色中添加或删除成员。共9个服务器角色:
1.Bulkadmin:执行Bulk Insert操作
2.Dbcreater:创建和更改数据库
3.Disadmin:管理磁盘文件
4.Processadmin:管理运行在SQL Server中的进程
5.Public:提供数据库中用户的默认权限
6.Securityadmin:管理服务器的登录
7.Serveradmin:配置服务器范围的设置
8.Setupadmin:管理扩展的存储过程
9.Sysadmin:执行SQL Server安装中的任何操作
10.4管理数据库角色
创建数据库角色:sp_addrole 数据库角色名,数据库角色的所有者
删除数据库角色:sp_droprole 数据库角色名
向数据库角色中添加成员:sp_addrolemember 数据库角色名,数据库用户名
删除数据库角色中的成员:sp_droprolemember 数据库角色名,数据库用户名
10.5管理应用程序角色
与数据库角色不同,就用程序默认情况下不包含任何成员,而且是非活动的。
创建应用程序角色:
create applicatin role 应用程序角色名 with password=’密码’
修改应用程序密码:
execute sp_approlepassword 应用程序角色名,密码
查看应用程序角色信息:
execute sp_helprole 应用程序角色名
删除应用程序角色
drop application role 应用程序角色名
10.6利用SQL代码实现权限的管理
给数据库用户或角色授权:
grant STATEMENT on 表名或视图名 to 用户名或角色名 WITH GRANT OPTION
STATEMENT用户具有的使用权限:select、insert、update、delete、create table、create rule等。
WITH GRANT OPTION表示该权限授予者可以向其他用户授予访问数据库对象的权限。
剥夺数据库用户或角色授权:
revoke STATEMENT on 表名或视图名 to 用户名或角色名 WITH GRANT OPTION
拒绝数据库用户或角色授权:
deny STATEMENT on 表名或视图名 to 用户名或角色名 WITH GRANT OPTION
创建两个登录账户
execute sp_addlogin ‘hyuser1’,’hy123456’,’db_company’,’english’
execute sp_addlogin ‘hyuser2’,’hy111111’,’db_company’,’english’
利用创建的两个登录账户分别创建两个数据库用户,
execute sp_grantdbaccess ‘hyuser1’,’dbhyuser1’
execute sp_grantdbaccess ‘hyuser2’,’dbhyuser2’
创建数据库角色并为其赋权限
execute sp_addrole ‘hyrole1’
grant select,insert on 仓库 to hyrole1
为数据库用户赋权限
grant select,update on 职工 to dbhyuser1
拒绝数据库用户授权或拒绝角色授权
deny update on 职工 to dbhyuser1,hyrole1
剥夺角色授权
revoke select on 仓库 to hyrole1
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。