当前位置:首页 >> 理化生 >>

SQL 操作练习题1


SQL Server(三级)操作练习题
1 数据库运行监控 1.1 使用 SQL 语句实现 DMV 查询, 显示当前缓存占用了大部分 CPU 时间的前 20 个 批处理或过程,按照各批处理或过程的 CPU 执行时间降序排列,将结果保存在 “c:\gatDoc\SQL3J2.1.1\2.1.1.doc”文档中。 (提示:查询数据库 master 中的系统

/>视图 sys.dm_exec_query_stats)
1.2 以 SA 身份登录数据库,在 Master 数据库上执行 SQL 语句: Select * from sysobjects 。利用 SQL Server Manangement Studio 监控数据库服务器,观察当前 按照进程分类的锁有哪些,请在“c:\gatDoc\SQL3J2.1.1\2.1.1.doc”文档内写出操 作步骤,并在该文档内将下列操作界面截屏后保存:阅读锁的信息,登录帐户信 息。 (提示:启动活动监视器) 1.3 打开 SQL Server Profiler,建立跟踪,对数据库活动进行监视,同时打开性能监视 器,利用 SQL Server: SQL Statistics 对象监视数据库服务器每秒的编译次数,运 行 3 分钟后,观察重合时段内 SQL Serve 的活动和上述性能计数器的值,请在 “2.1.1.doc”文档内写出操作步骤,并在该文档内将下列三个操作界面截屏后依 次保存: 1) 在 SQL Server Profiler 中新建跟踪 mytrace。 2) 在性能监视器中新建 SQL Server: SQL Statistics 计数器。 3) 在 SQL Server Profiler 中查看指定性能计数器的情况。

2

数据库备份计划 2.1 利用维护计划功能, 设置每天 3: 00 自动执行增量备份 (差异备份) 数据库 model 到文件夹 C:\Backup, 并将操作步骤写在 c:\gatDoc\SQL3J2.2.1\2.2.1.doc 文档里面, 将下面两个操作界面截屏后依次保存在同一个文档里: 1)设置备份数据库任务的界面 2)维护计划设置完成的界面 2.2 利用 SQL Server Agent 功能(作业功能) ,创建作业 job1,设置每天 5:00 完成 以下步骤: 先删除备份文件 c:\gatDoc\SQL3J2.2.1\model.bak, 然后对数据库 model 进行完全备份,保存为 c:\gatDoc\SQL3J2.2.1\model.bak,请在 2.2.1.doc 文档里写

出操作步骤,并将下面三个操作界面截屏后依次保存: 1) 设置删除备份文件的界面 2) 设置对数据库 model 进行完全备份的界面 3) 设置作业计划属性的界面

3

数据库编程 * 准备:假设目前有一个数据库 demo,里面有一个表 Student,结构如下: ID int, --学号 --姓名 --入学日期 --职位 --身高 --班主任代号 --班级编号

Name varchar(20), enterDate datetime, job varchar(10), high numeric(8,2), teacherID int, classID int,

练习时请同学自行创建以上数据库和数据表(考试时系统中已经创建好了) 。 将下面操作的 SQL 脚本保存到 c:\gatDoc\SQL3J3.1.1\3.1.1.doc 文档中。 3.1 建立存储过程 add_stu,输入学号、姓名、入学日期、职位、身高、班主任代号、 班级编号,向表 student 插入数据。 3.2 建立函数 valid_id,根据输入的学号,检查学生是否存在,如果存在,则返回 1, 否则返回 0。 (标量函数) 3.3 建立函数 get_high,根据输入的学号,返回姓名和身高,其中要求先调用函数 valid_id 确定该学生是否存在,不存在则显示消息“该学生不存在” 。 (多语句表 值) 3.4 3.5 建立函数 get_tab,根据输入的班级编号返回该班级所有学生信息。 (内联表值) 编写存储过程 disp_stu,根据输入的班级编号,采用游标方式按照下列格式输出 该班级所有学生的姓名、职位、身高。 姓名 职位 身高

-------------------------------------------------------------------------------------

参考答案:

1.1 select top 20 sql_handle,sum(total_worker_time) as cpu_time from sys.dm_exec_query_stats group by sql_handle order by cpu_time desc * 分析: 在 sys.dm_exec_query_stats 视图中,total_worker_time 字段用来保存某

个进程占用的 cup 时间,sql_handle 表示某个进程编号。这个视图在 master 数据库中的 系统视图中可以找到。

(本图为操作参考,考试时不需要给出)

1.2 步骤:(考试时不需要写步骤) 1. 在 SQL Server Manangement Studio 打开新查询。 2. 选择 Master 数据库,点击工具栏中的“新建查询” 。 3. 在查询中执行下面的语句: Seelct * from sysobjects 4. 在“管理 ? 活动监视器”中,右键选择“查看进程” ,弹出活动监视器窗口,有 多个进程,其中有一个帐户在访问数据库实例,双击该进程后弹出一个进程的详细

信息窗口。

(提示:使用 Alt + PrtSc 组合键,可以复制当前活动窗口图象)

1.3 步骤:(考试时不需要写步骤)

1. 在 SQL Server Manangement Studio 的“工具”菜单中打开 SQL Server Profiler。 2. 点击“新建跟踪” 。 3. 填写跟踪名称 myTrace,选中“保存到文件” ,指定文件夹 C:\和文件名 myTrace.trc, 单击“运行” 。 4. 在 SQL Server Profiler 的“工具”菜单中打开性能监视器。 5. 展开“性能日志和警报” ,在“计数器日志”上右键选择“新建日志设置” ,填写日 志名称 myLog。 6. 点击“添加计数器” ,在 “性能对象”中选择“SQL Server: SQL Statistics” ,再从 列表中选择一个计数器 “SQL Compilations/sec” , 然后点击 “添加” , 再点击 “关闭” 。 7. 打开“日志文件”选项卡,在“日志文件类型”中选择“文本文件(用逗号分隔) ” 。 点击“配置”按钮,指定文件夹 C:\和文件名 myLog.csv,然后按“确定”返回。 8. 在查询工具中任意使用 SQL 语句执行一些数据库操作。 9. 3 分钟后,分别停止 SQL Server Profiler 和性能监视器的所有运行的任务。 10.关闭 SQL Server Profiler 的当前跟踪,在“文件”菜单中打开所保存的跟踪文件 C:\myTrace.trc,然后在“文件”菜单中选择“导入性能数据” ,选择性能计数器保 存的文件 C:\myLog.csv,并在“性能计数器限制对话框”中选中相应的计数器(见 后面的参考图) 。

(本图为操作参考,考试时不需要给出,所有选项都打勾)

2.1 步骤:(考试时不需要写步骤) 1. 在 SQL Server Manangement Studio 的管理->维护计划中, 右键点击 “新建维护计划” , 填写名称。 2. 设置计划,选择“重复执行” ,频率为每天一次,时间设定为 3:00。 3. 在左边任务列表中将“备份数据库”任务拖曳到右边窗口,然后双击他。 4. 选择数据库“model” ,备份类型选“完整” ,文件夹选“C:\Backup”(直接打字,不 要打开对话框进行选择)。 5. 保存,退出。

2.2 步骤:(考试时不需要写步骤) 1. 在 SQL Server Manangement Studio 的 SQL Server 代理->作业中,右键点击“新建作 业” ,填写名称。 2. 点击 “步骤” 选项卡, 新建一个步骤, 命名为 step1, 类型选择 “操作系统 (cmdExec) ” , 命令栏目中填写:del c:\backup\model.bak,单击“确定” 。 3. 新建一个步骤,命名为 step2,类型选择“Transact-SQL 脚本(T-SQL) ”,数据库选 择“master” ,命令栏目中填写:backup database model to disk='c:\backup\model.bak', 单击“确定” 。 4. 点击“计划”选项卡,新建一个计划,命名为 plan1,选择“重复执行” ,频率为每 天一次,时间设定为 5:00,单击“确定” 。 5. 单击“确定” ,退出。

3.1 (提示:以下各题可以利用SQL Server Management Studio中的相关生成工具搭好框架) create procedure add_stu

@id int,@name varchar(20),@enterdate datetime,@job varchar(20),@high numeric(8,2),@tID int,@cID int as begin insert into student values(@id,@name,@enterdate,@job,@high,@tID,@cID) end * 分析:本题使用存储过程模板 (找到指定数据库 > 可编程性 > 存储过程, 右键“新

建存储过程” ) 。

3.2 create function valid_id ( @id int ) returns int as begin declare @result int if exists(select * from student where id=@id) set @result = 1 else set @result = 0 return @result end * 分析: 本题使用标量函数模板 (找到指定数据库 > 可编程性 > 函数, 右键 “新建 >

标量值函数” ) 。
3.3 create function get_high ( @id int ) returns @tab table (name varchar(20),high numeric(8,2),msg varchar(20)) as begin if dbo.valid_id(@id) = 1 insert into @tab(name,high) select name,high from student where id=@id else insert into @tab(msg) values('该学生不存在')

return end * 分析:本题使用多语句表值函数模板(找到指定数据库 > 可编程性 > 函数,右键

“新建 > 多语句表值函数” ) 。

3.4 create function get_table ( @classID int ) returns table as return (select * from student where classID=@classID) * 分析:本题使用内联表值函数模板 (找到指定数据库 > 可编程性 > 函数,右键 “新

建 > 内联表值函数” ) 。

3.5 create procedure disp_stu @classID int as begin declare @name varchar(20),@job varchar(20),@high numeric(8,2) declare c_rs cursor for select name,job,high from student where classID=@classID open c_rs print ' 姓名 职位 身高 ' print '----------------------------' fetch next from c_rs into @name,@job,@high while @@fetch_status = 0 begin print @name + ' ' + @job + ' ' + cast(@high as varchar) fetch next from c_rs into @name,@job,@high end close c_rs deallocate c_rs end * 分析:本题使用存储过程模板 (找到指定数据库 > 可编程性 > 存储过程, 右键“新

建存储过程” ) 。


相关文章:
SQL 操作练习题1
SQL 操作练习题1_理化生_高中教育_教育专区。SQL Server(三级)操作练习题 1 数据库运行监控 1.1 使用 SQL 语句实现 DMV 查询, 显示当前缓存占用了大部分 CPU...
SQL操作复习题及答案
SQL操作复习题及答案_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 SQL操作复习题及答案_理学_高等教育_教育专区。-1- 1 数据库操作 1.创建...
SQL操作题
21.SQL 命令操作题(将该题的命令复制到考生文件夹下的文本文件 ML7.TXT 中) (1)从学生信息和学生成绩表中查询男、女生的大学语文的平均成绩。 SELECT 性别,...
SQL语言操作示例练习-1
SQL 语言操作示例练习设要建立教学管理数据库,库中包括学生、课程和选课 3 个表,其表结构为: 学生(学号,姓名,性别,年龄,所在系) ; 课程(课程号,课程名,先行...
MySQL_SQL实际操作练习题答案
MySQL_SQL实际操作练习题答案_IT认证_资格考试/认证_教育专区。1:查询雇员表中工资最高的雇员的员工号、员工姓名、工资和部门号。 select empno,ename,sal,deptno...
SQL试卷第二部分-基本操作题
1、基本操作题(共33分) 1、SQL Server 2005 的主要管理工具(每题 1 分,共 3 分) (1)打开 SQL Server 的配置管理器,并将 SQL Server 2005 服务的显示...
练习题
题型与分值分布 、选择题 40%(每小题 2 分,共 40 分) 二、填空题 20...6、Oracle 中提供的字符串连接操作符号是“&” 。 7、在 pl/sql 程序中,...
SQL_Server 2008上机练习1
SQL_Server 2008上机练习1_IT认证_资格考试/认证_教育专区。上机练习 上机练习 1 1、 2、 3、 启动“ SQL Server Management studio” 。 查看系统数据库。 创...
SQL上机习题
套测试题(数据库及 sql 语言基础操作) 首先创建一个数据库(名称为:db1) ,要求将其数据文件的逻辑名改为: db1_姓名全拼,物理名及路径为: c:\姓名全拼...
Oracle PL SQL经典练习题1
Oracle 作业题一.创建一个简单的 PL/SQL 程序块 使用不同的程序块组件工作 使用编程结构编写 PL/SQL 程序块 处理 PL/SQL 程序块中的错误 1.编写一个程序块,...
更多相关标签: