sql 数据库 实验九:T-SQL语言、存储过程及数据库的安全性
更新时间:2023-11-05 22:51:01 阅读量: 教育文库 文档下载
- sql server推荐度:
- 相关推荐
实验九:T-SQL语言、存储过程及数据库的安全性
一、实验目的
1. 掌握数据变量的使用;
2. 掌握各种控制语句及系统函数的使用; 3. 掌握存储过程的实现;
4. 掌握混合模式下数据库用户帐号的建立与取消方法; 5. 掌握数据库用户权限的设置方法;
6. 掌握在企业管理器中进行备份、恢复操作的步骤;
二、实验学时
2学时
三、实验要求
1. 了解T-SQL支持的各种基本数据类型及变量的使用; 2. 了解T-SQL各种运算符、控制语句及函数的功能及使用方法; 3. 掌握存储过程的编写和运行方法 4. 熟悉数据库完全备份及恢复的方法; 5. 了解SQL Server 2008系统安全;
6. 熟悉数据库用户、服务器角色及数据库角色的用法 7. 完成实验报告。
四、实验内容
以student数据库为基础数据,完成以下内容 1. 变量及函数的使用:
1)创建局部变量@xh(学号)并赋值,然后输出数据表student中所有等于该值的学生的学号、姓名、性别、所属院系及年龄等信息;
2)将学号为200515008的学生的姓名赋值给变量@name;
3)计算学生信息表student中学生最高年龄和最低年龄之差,并将结果付给@cz;
4)定义一函数,按系别统计当前所有学生的平均年龄,并调用该函数。 5)定义一函数,通过姓名查询某学生的学号、性别、年龄、系别、选修课程名及成绩。 2. 编写并执行存储过程
(1) 创建一个无参存储过程pr_StuScore,查询以下信息:班级、学号、姓名、
性别、课程名称、考试成绩。
(2) 创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号在
student表中查询此学生的选修课程及成绩信息。
(3) 创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生
编号和课程名称查询以下信息:班级、学号、姓名、性别、课程名称、考试成绩。
(4) 编写带参数的存储过程,根据传入的课程名称统计该课程的平均成绩。
3. *对数据库student进行完全备份和恢复操作;
4.*以系统管理员身份登录到SQL Server服务器,在SQL Server2008界面中实现以下操作
1) 在当前计算机中增加一个用户zhang,密码为secret。使此用户通过windows
模式下登录SQL Server服务器,登录名为zhang;
2) 新建以混合模式登录SQL Server服务器的用户登录名分别为stu1、stu2和
stu3,登录密码为secret,默认登录数据库为student; 3) 在数据库student中创建用户zhang,登录帐号为zhang;
4) 在数据库student中创建用户stu1、stu2和stu3,登录帐号为stu1、stu2
和stu3;
5) 给数据库用户zhang赋予创建数据表的权限;
6) 给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限; 7) 给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查
询sc的操作权限,并允许再授权给其他用户;
8) 撤销数据库用户stu2对student表和course表的删除操作的权限;
五、实验步骤
3. 对数据库student进行完全备份和恢复操作; 1)对数据库student进行完全备份操作;
以管理员账号登录SQL Server并运行SQL Server资源管理器;以下方法任选其一
方法1:利用资源管理器进行备份
(1)打开【对象资源管理器】,在【服务器对象】节点下找到【备份设备】节点,单击鼠标右键,弹出右键菜单,选择【新建备份设备】菜单,弹出新建备份设备窗口。输入备份设备逻辑名称data_backup,并指定备份设备的物理路径,例如“D:\\backup\\data_full.bak”,单击【确定】。
(2)连接到相应的SQL Server服务器实例之后,在【对象资源管理器】中,单击服务器名称以展开服务器树。找到【数据库】节点展开,选择STUDENT 数据库,单击鼠标右键,在弹出的快捷菜单中选择【任务】—>【备份】命令。(3)在【备份数据库】对话框中的【数据库】下拉列表中选择的数据库名STUDENT。在【备份类型】下拉列表中选择备份类型为“完整”,在【名称】文本框中输入备份集的名称STUDENT_BAK,在【备份集过期时间】选项中指定备份集过期时间为30天,在“选择页”窗格中,单击【选项】,在【可靠性】选项中选择“完成后验证备份”选项,最后单击【确定】按钮。 方法2:用T-SQL语句进行数据库完全备份
使用逻辑名STUDENTBAK创建一个命名的备份设备,并将数据库STUDENT完全备份到该设备。在查询分析器的窗口输入如下的语句并执行:
USE master EXEC
sp_addumpdevice
‘disk’,’
STUDENTBAK’,’D:\\backup\\
STUDENTBAK.BAK’
BackUp DataBase STUDENT To STUDENTBAK 2)在资源管理器中进行数据库恢复;
(1)展开【数据库】节点,用鼠标右键单击STUDENT,在弹出的快捷菜单中选择【属性】命令。打开“数据库属性”对话框,在“选择页”列表中,单击“选项” 。在“恢复模式”下拉列表中选择【完整】恢复模式。
(2)用鼠标右键单击STUDENT,在弹出的快捷菜单中选择【任务】—>【还原】—>【数据库】命令。打开“还原数据库”对话框。在“常规”选项卡上,“目标数据库”下拉列表框中选择STUDENT。在“目标时间点”文本框中,使用默认值“最近状态”。在“选择用于还原的备份集”表格中,选择用于还原的备份,单击“确定”按钮。
4.*以系统管理员身份登录到SQL Server服务器,在SQL Server2008界面中实现以下操作
1) 在当前计算机中增加一个用户zhang,密码为secret。使此用户通过windows
模式下登录SQL Server服务器,登录名为zhang;
在计算机中增加用户的方法如下:单击【开始|管理工具】,选择【计算机管理】,在【计算机管理】的窗口中单击左边的【本地用户和组】,在右侧【用户】文件夹上单击右键,选择菜单上的【新用户】,然后在弹出的【新用户】对话框中键入您准备使用的用户名、密码,然后清除【用户下次登录时须更改密码】复选框的选中状态,再单击【创建】按钮,然后单击【关闭】按钮关闭对话框。
创建windows身份验证登陆用户方法:在【对象资源管理器】中,展开【安全性】节点,然后右键单击【登录名】,在弹出的快捷菜单中选择【新建登录名】。在“登录名-新建”对话框中单击【登录名】后面的搜索按钮,选择【高级】,在弹出的对话框中选择【立即查找】,在搜索结果中选择已经建立的用户名,单击【确定】按钮,回到“登录名-新建”对话框中,最后单击确定按钮完成创建。
2) 新建以混合模式登录SQL Server服务器的用户登录名分别为stu1、stu2和
stu3,登录密码为secret,默认登录数据库为student;
创建SQL Server身份验证登陆用户方法:在【对象资源管理器】中,展开【安全性】节点,然后右键单击【登录名】,在弹出的快捷菜单中选择【新建登录名】。在“登录名-新建”对话框中选择SQL Server身份验证选项,在【登录名】后面输入用户名,在密码及确认密码后面输入密码。取消【强制密码过期】选项,单击【确定】按钮。
3) 在数据库student中创建用户zhang,登录帐号为zhang;
在【对象资源管理器】中展开student数据库节点,展开【安全性】节点,在用户上单击鼠标右键选择【新建用户】命令,在弹出的新建对话框中单击【登陆名】后面的搜索按钮,在弹出的【选择登录名】对话框中单击【浏览】按钮,在相应的账号前面选中并单击【确定】按钮,最后在用户名后面输入用户名称,单击【确定】按钮完成创建。 CREATE USER zhang for login zhang
4) 在数据库student中创建用户stu1、stu2和stu3,登录帐号为stu1、stu2
和stu3;
CREATE USER stu1 for login stu1 5) 给数据库用户zhang赋予创建数据表的权限;
在student数据库安全性节点下的用户名上单击鼠标右键,选择【属性】,在打开的对话框中选择【安全对象】页,单击右边的【搜索】按钮,在弹出的【添加对象】对话框中直接单击【确定】按钮,然后单击【对象类型】按钮,弹出【选择对象类型】对话框,选中【数据库】,单击【确定】按钮。再在选择对象对话框中单击【浏览】,在student数据库前面选中,单击【确定】。最后在【安全对象】页下方的student的权限中创建表选项后的【授予】复选框中选中,单击【确定】完成设置。 GRANT create table to zhang
6) 给数据库用户stu1赋予对sc表进行插入、修改、删除操作权限;
GRANT insert,update,delete ON sc to stu1
7) 给数据库用户stu2和stu3赋予对student表、course表所有操作权限及查
询sc的操作权限,并允许再授权给其他用户;
GRANT ALL PRIVILEGES ON Student,Course TO stu2,stu3 WITH GRANT OPTION
8) 撤销数据库用户stu2对student表和course表的删除操作的权限;
Revoke delete ON Student,Course FROM stu2 CASCADE
正在阅读:
sql 数据库 实验九:T-SQL语言、存储过程及数据库的安全性11-05
2017感动中国人物02-18
竣工验收备案03-30
第八章 接待工作11-07
男性不育:改善性功能的药材03-29
最新初中人教版八年级语文上册17.奇妙的克隆导学案10-21
学习五四寄语精神心得体会4篇10-13
中国近代史纲要论文-李汉俊生平09-29
2014河北省政府工作报告03-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据库
- 安全性
- sql
- 存储
- 过程
- 语言
- 实验
- 上海开大《大学英语(4)》第一次书面作业
- 电大社交礼仪概论形考1、2、3、4试题及答案 - 图文
- 证券投资分析试题库
- 《竞争法学》期末复习指导
- 纳米光催化材料研究进展
- 二年级家访工作总结14-15(1)
- 信息技术选择题
- 国家人口计生委召开干部监督工作会议
- 滞期、速谴计算
- 2015年01月05日qwertyu1234567qw的高中物理组卷(1)
- 口耳目说课稿5
- 塑料成型工艺与磨具设计课后习题答案
- 人教版四年级上册数学第8单元及总复习书中重点习题
- 中国民用建筑类设计院100强排名总榜
- 章丘市实验中学1-2-1实施方案
- 收费站业务培训心得
- 基于PLC的矿井提升机变频调速系统毕业设计 - 图文
- 基于51单片机智能光控节能灯的设计本科毕业论文(设计)
- 2015年小学奥数几何专题 - 巧求周长
- 何晓群版多元统计课后作业答案