实验8 实验报告 下载本文

内容发布更新时间 : 2024/5/24 17:55:12星期一 下面是文章的全部内容请认真阅读。

云南大学软件学院

实 验 报 告

课程: 数据库原理与实用技术实验 任课教师: 包崇明,朱艳萍 姓名: 李子厚 学号: 20121120009 专业: 软件工程 成绩:

实验8 安全管理

1.设置安全认证模式

SQL Server 2008有两种登录验证机制:Windows身份验证和混合身份验证。

修改方法:MSSMS中对象资源管理器中-选择数据库服务器-单击右键-选择“属性”,在属性窗口中选择“安全性”,如下两图所示:

通过安全性 属性 页面可进行身份验证方式的修改。注意:修改只有重新启动数据库服务器后才起效。如果修改为 Windows身份验证模式,则不能用SQL Server用户登录,建议设为混合模式- SQL Server 和Windows身份验证模式,这种模式下两类用户都能登录。

2、创建和管理登录帐户(创建登录帐户只能由系统管理员完成)

(1)用MSSMS创建、查看、删除基于Windows账户或者SQL Server的登录帐户。通过对象资源管理器-安全性-登录名-右键,可创建登录名(可设置默认数据库),可查看和删除登录名。创建一个登录名为test,采用SQL Server身份验证,密码为 1,默认数据库为 cap 的截图为:

(2)用SQL语句创建、查看、删除SQL Server登录帐户

1)使用CREATE LOGIN语句创建一个登录帐户test,密码为1,使用的默认数据库为CAP(简单语法:CREATE LOGIN login_name WITH PASSWORD = 'password' ,DEFAULT_DATABASE = database),SQL语句为:

CREATE LOGIN test WITH PASSWORD = '1' ,DEFAULT_DATABASE = CAP

2)登录帐户存放在表sys.sql_logins中,用select 语句查看该表所有内容,截图: select * from sys.sql_logins

3)使用DROP LOGIN 语句(语法:DROP LOGIN login_name)删除刚创建的SQL Server登录帐户test

DROP LOGIN test

3、创建与管理数据库用户 数据库用户只有和登录帐户相关联,也就是加入某些个数据库中,才具有访问数据库的权限。在MSSMS中创建、查看、删除数据库用户的方法为:进入数据库-安全性-用户,右键就能创建数据库用户,并和登录名绑定,选择该用户拥有的架构和给它赋予数据库角色。

(1)用SQL语句创建、查看、删除数据库用户 1)使用CREATE USER语句(简单语法:CREATE USER 数据库用户名 FOR LOGIN 登录名)为数据库cap的登录帐户 test 创建一个数据库用户db_test

CREATE USER db_test FOR LOGIN test

2)使用系统存储过程sp_helpuser查看数据库用户(方法:exec sp_helpuser) exec sp_helpuser

3)使用drop user(简单语法:drop user 数据库用户名)删除数据库中的用户db_test drop user db_test

4、创建与管理角色 在SQL Server中,角色有两种:服务器角色和数据库角色。服务器角色是服务器级的一个对象,只能包含登录名。数据库角色是数据库级的一个对象,只能包含数据库用户名而不能是登录名。 服务器角色:

(1)使用MSSMS为登录帐户设定服务器角色

通过对象资源管理器-安全性-登录名-右键-属性-服务器角色,可为登录名设定服务器角色或者删除赋予它的服务器角色。

数据库角色:

(1) 使用MSSMS管理数据库角色,包括为数据库角色添加成员、删除数据库角色的某个

成员,方法:进入数据库-安全性-用户-右键-可把用户加入到某个角色中,或者取消用户的角色

(2)使用SQL语句管理数据库角色 1)使用系统存储过程sp_addrolemember将数据库用户‘db_test’指定为数据库角色‘db_accessadmin’(方法:EXEC sp_addrolemember 数据库角色, 用户名)

EXEC sp_addrolemember db_accessadmin, db_test

2)使用系统存储过程sp_droprolemember收回数据库用户‘db_test’的数据库角色‘db_accessadmin’( 方法: EXEC sp_droprolemember数据库角色, 用户名)

EXEC sp_droprolemember db_accessadmin, db_test

5、授权管理

Simplified syntax for REVOKE REVOKE [ GRANT OPTION FOR ] {

[ ALL [ PRIVILEGES ] ]