码迷,mamicode.com
首页 > 数据库 > 详细

sql学习总结(10)——安全性控制技术

时间:2015-03-15 13:49:47      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

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

sql学习总结(10)——安全性控制技术

标签:

原文地址:http://www.cnblogs.com/aaron-shu/p/4339554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!