数据库实验四

  • 格式:docx
  • 大小:388.98 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南石油大学实验报告

注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。

一、实验课时:2

二、实验目的

(1) 掌握使用T-SQL语句创建登录帐户的方法。

(2) 掌握使用T-SQL语句创建数据库用户的方法。

(3) 掌握使用T-SQL语句创建数据库角色的方法。

(4) 掌握使用T-SQL语句管理数据库用户权限方法。

三、实验要求

(1) 使用SQL Server 2008查询分析器。

(2) 严格依照操作步骤进行。

四、实验环境

(1) PC机。

(2) SQL Server 2008。

五、实验内容及步骤

注意事项:

(1)首先在C盘根目录创建文件夹Bluesky,执行脚本文件

“PracticePre-第11章安全管理.sql”,创建数据库BlueSkyDB

和表;

(2)如何建立“数据库引擎查询”;

(3)使用“select user_name()”可查询当前登录账号在当前数据库中的用户名。

步骤1 使用Transact-SQL创建三个SQL Server登录账户TUser1、TUser2、TUser3,初始密码均为“123456”。

--SA

CREATE LOGIN TUser1

WITH PASSWORD='123456'

CREATE LOGIN TUser2

WITH PASSWORD='123456'

CREATE LOGIN TUser3

WITH PASSWORD='123456'

步骤2 使用TUser1建立一个新的数据库引擎查询,在“可用数据库”下拉列表框中是否能看到并选中BlueSkyDB数据库为什么

不可以选中BlueSkyDB数据库。因为此时sa还没有赋予TUser1选中BlueSkyDB数据库的权限,TUser1还不是BlueSkyDB数据库的用户。

步骤3 使用Transact-SQL将SQL Server登录账户TUser1、TUser2、TUser3映射为数据库BlueSkyDB的用户,用户名同登录名。

CREATE USER TUser1

CREATE USER TUser2

CREATE USER TUser3

步骤4 再次使用TUser1建立一个新的数据库引擎查询,这次在“可用数据库”下拉列表框中是否能看到并选中BlueSkyDB数据库为什么

可以选中BlueSkyDB数据库。此时sa已经赋予了TUser1访问BlueSkyDB 数据库的权利了。

步骤5 用TUser1用户在BlueSkyDB数据库中执行下述语句,能否成功为什么

SELECT * FROM BOOKS;

不能成功。其实TUser1只是具有访问数据库的权限,还没有拥有操作数据库的权限。

步骤6 授予TUser1具有对BOOKS表的查询权限,授予TUser2具有对CUSTOMERS表的插入权限。

GRANT SELECT ON BOOKS TO TUser1

GRANT SELECT ON CUSTOMERS TO TUser2

步骤7 用TUser2建立一个新的数据库引擎查询,执行下述语句,能否成功为什么

不能成功。因为sa并没赋予TUser2对于CUSTOMERS表进行插入的权限。

INSERT INTO CUSTOMERS VALUES('张三','','123456'); (注意:CUSTOMERS表中的customerID列为自增列)

再执行下述语句,能否成功为什么

SELECT * FROM CUSTOMERS;

成功了。因为sa赋予了TUser2对于CUSTOMERS表进行查询的权限。

步骤8 在TUser1用户建立的数据库引擎查询中,再次执行下述语句:

SELECT * FROM BOOKS;

成功了。因为sa赋予了TUser1查询BOOKS表的权限。

这次能否成功但如果执行下述语句:

INSERT INTO CUSTOMERS VALUES('李四','','123456');

能否成功为什么

不能成功。因为sa没有赋予User1插入数据到BOOKS表的权限。

步骤9 授予TUser3具有在BlueSkyDB数据库中的建表权限。

GRANT CREATE TABLE TO TUser3

步骤10 使用Transact-SQL在数据库BlueSkyDB中创建一个角色

TRole1,并使用Transact-SQL将对BlueSkyDB数据库中Books表的增、删、改、查权限授予角色TRole1。

CREATE ROLE TRole1

GRANT SELECT,INSERT,DELETE,UPDATE

ON Books TO TRole1

步骤11 新建立一个SQL SERVER身份验证模式的登录名:pub_user,并让该登录名成为BlueSkyDB数据库中的合法用户(非常重要,否则后面无法将其加入TRole1角色)

CREATE LOGIN pub_user

WITH PASSWORD='123456'

CREATE USER pub_user

步骤12 用pub_user建立一个新的数据库引擎查询,执行下述语句,能否成功为什么

SELECT * FROM BOOKS;

不能成功。此时pub_user并没有被sa赋予对books表的查询权限。