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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。