当前位置:文档之家› SQL Server数据库模拟试题2

SQL Server数据库模拟试题2

SQL Server数据库模拟试题2说明:本试题为笔试方式,考试时间100分钟,总计100分。

一、选择题(每题1分,共15分)1. 在数据库中NULL表示_______A. 0B. 空格C. 未知值D. 其他2. 批处理是一个SQL语句集合,以_______为结束。

A. BEGINB. “}”C. GOD. END3. 在SQL Server中会滚事务的命令为_______。

A. COMMITB. ROLLBACKC. GOTOD. DECLEAR4. 聚合函数中的_______,可以实现对一数值列执行累加并返回单一值。

A.SUM B.COUNT C.MAX D.SQRT5. 在存有数据的表上建立非聚集索引,可以引起表中数据的_______发生变化。

A.表间关系B.物理位置C.逻辑顺序D.列值6. 下列函数中,返回值数据类型为int的是_______。

A.GETDATE B. COUNT C. LTRIM D. SUNSTRING7. 命令CREATE DEFAULT的功能是_______________。

A. 清空表B. 创建默认值C. 创建触发起D. 创建表8. 为数据表创建索引的目的是_______。

A. 提高查询的检索性能B. 归类C. 创建主键D. 准备创建视图9. 表达式Datepart(yy,'2010-9-13')+7的结果是_______。

A. '2010-9-20'B.2010C.'2017'D. '2011'10. 在SQL Server 2005服务器上,存储过程是一组预先定义并_______的Transact-SQL 语句集合。

A.保存B.编译C.解释D.编写11. 表是SQL Server数据库中用来_______各种数据内容的数据库对象。

A. 显示B.查询C. 存放D. 检索12. 关于SQL Server 2005数据库事务日志文件叙述错误的是_______。

A. 一个数据库可以有多个事务日志文件B. 创建数据库时,如果未指定事务日志文件,SQL Server则会自动创建一个C. 事务日志文件的默认大小为5MBD. 如果未指定事务日志文件的增长量,则文件大小也会不断变化。

13. 下列关于执行SQL Server 2005查询叙述正确的是_______。

A. 如果没有选中的命令,则只执行最前面的第一条命令B. 如果有多条命令选择,则只执行选中命令中的第一条命令C. 如果查询中有多条命令有输出,则按顺序显示所有结果D. 遇到GO命令就自动开始执行14.表达式DA TENAME(Mm,'2011-11-11')的值是_______。

A. 11B. 12C. 星期五D. '2011-11-11'15. 对数据库表创建索引的缺点有_______A. 提高检索速度B. 降低了数据修改速度C. 强制实施行的唯一性D. 节省了存储空间二、填空题(每空1分,共15分)1. 服务器是用来_______、_______和停止SQL Server 服务的。

2. 以@@作为首部的变量在SQL Server系统中称为_______。

3.SELECT语句的完整语法较复杂,但至少包括的部分_______、_______;使用关键字_______可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是_______。

4.声明游标的命令是_______,释放游标的命令是_______。

5.在SQL Server系统中,用户要访问默认工作数据库中的数据,必须在_______、_______、_______之后才能进行。

6.使用系统监视器可以通过创建_______、_______、_______和报表,以监视SQL Server 实例的运行情况。

三、简答题(每题5分,共20分)1. 如果给某用户授予更新表的权限,但该用户所属角色又拒绝了此权限,那么该用户账户是否保留更新表的权限,阐述原因?2. 简述public角色的功能。

3. 用户数据库包括由气象卫星收集的图像数据,并且这些数据不断地进行更新。

数据库大小为700GB,并且被划分到5个文件中保存。

如果准备对其进行完全数据库备份,那么将耗时20个小时。

请问:如何才能尽量缩短每天执行备份所需的时间,并且在系统出现故障的情况下,仍然能够保证较好的数据还原能力呢?4.说明如何创建一个名为MyDevice的备份设备的步骤,如何将其映射成为磁盘文件“D:\DA TA\MyDevice.BAK”。

四、综合题(每小题 5分,共50分)1. 利用Transact-SQL语句完成操作。

(1)创建一个新的数据库名称为store,该数据库包含一个数据文件和一个日志文件。

数据文件逻辑文件名为storeDB1_data,磁盘文件名为storeDB1_data.mdf,文件初始容量为5MB,最大容量为17MB,文件递增容量为1MB(数据库创建在D:\SERVER文件夹下),其他所有参数均取默认值。

(2)在store数据库中创建一个数据表orders,表结构如下表所示:orders 表结构列名数据类型及长度是否为空备注订单编号nchar (10) no 主键客户编号nchar (10) no订购日期datetime no 默认值为系统时间(3)向表orders中添加一个“备注”字段,数据类型为nchar(40)。

“备注”字段允许为NULL。

并向表orders中添加一条记录。

(4)查看orders表上的所有约束。

(5)删除订购日期在2009年7月17日以前的记录。

(6)在store数据库中创建新表expro,并将其number字段设置为主键。

(7)创建一个AFTER触发器,要求实现以下功能:在expro表上创建一个插入、更新类型的触发器TR_expro,当在expro字段中插入或修改number后,触发该触发器,检查number值是否在0-1000之间。

2. 写出实现下列操作的步骤和命令:(1)在SQL Server Management Studio中添加登录名CLASS,密码为BESTtoYOU的SQL登录账户,并映射为数据库TEACHING的数据库用户HANS;(2)配置对数据库TEACHING具有创建表和创建视图的权限;(3)授予对数据表student进行查询、删除的权限,撤销对数据表course的插入、更新、删除权限。

SQL Server数据库模拟试题2参考答案一、选择题(每题1分,共15分)1~5. CCBAC 6~10. BBACA 11~15. CCCAB二、填空题(每空1分,共14分)1. 启动暂停2. 全部变量3.SELECT FROM DISTINCT UNION4.DECLARE..CURSOR DEALLOCA TE5.登录服务器进行身份验证获得权限6.图表警报日志三、简答题(每题5分,共20分)1. 该用户不再保留更新表的权限。

因为拒绝权限优先级高于其它权限,从而将使授予给他的权限失效。

2. public角色是一个特殊的数据库角色,SQL Serve中的每个数据库都拥有该角色。

其主要功能包括:捕获数据库用户的所有默认权限,包含的所有系统数据库和用户数据库中,并且无法删除。

3. 用户可以选用一种以完全数据库备份开始的备份计划。

由于完全数据库备份比较费时,所以极少进行这种备份,而是以轮流方式每天只备份数据库文件中的一个。

为了尽量缩短还原时间,除了备份事务日志以外,用户还应当执行差异备份。

4.实现创建备份设备MyDevice,以及将其映射成为磁盘文件D:\DATA\MyDevice.BAK 步骤如下:(1)在SQL Server Management Studio中展开服务器组,展开指定的服务器,展开“服务器对象”。

(2)右击服务器对象中的“备份设备”,在弹出的快捷菜单中选择“新建备份设备”选项,打开“备份设备”对话框。

(3)在“备份设备”对话框中,设备名称处输入MyDevice,并单击“文件”右部的按钮,打开“定位数据库文件”对话框,在对话框中选择D盘的DATA文件夹,并在窗口下部的“文件名”框中输入MyDevice.BAK,单击“确定”按钮。

(4)在“备份设备”对话框中单击“确定”按钮,就创建了备份设备MyDevice,在SQL Server Management Studio中可看到此备份设备名称。

四、综合题(每小题5分,共50分)1.参考答案(1)Create database storeON(NAME=storeDB1_data,FILENAME='D:\server\storeDB1_data.mdf',SIZE=5mb,MAXSIZE=17mb,FILEGROWTH=1mb)(2)create table orders( 订单编号 nchar(10) primary key,客户编号 nchar(10),订购日期 datetime default getdate())(3)alter table orders add 备注 nchar(40)INSERT INTO ordersVALUES('D010552037','K021772097', getdate(),NULL) (4)sp_helpconstraint orders(5)delete from orders where订购日期<’07/17/2009’(6)USE storeGOCREATE TABLE expro( number int PRIMARY KEY,name nchar(20),)(7)USE storeGOCREATE TRIGGER TR_exproON exproFOR INSERT, UPDATEASIF UPDATE(number)PRINT 'AFTER触发器开始执行……'BEGINDECLARE @number Value realSELECT @numberValue=(SELECT numberFROM inserted)IF @numberValue>1000 OR @numberValue<0PRINT '输入的编号有误,请确认输入的编号!'ENDGO2. 参考答案(1)--添加CLASS登录帐户:sp_addlogin 'CLASS',' BESTtoYOU '--映射CLASS为TEACHING数据库用户sp_grantdbaccess 'CLASS','HANS'(2)--授予创建数据表、创建视图的权限grant create table,create view to HANS(3)--授予对数据表student进行查询、删除权限grant select, delete on student to HANS--视图对数据表course的插入、更新和删除权限revoke insert,update,delete on course to HANS。

相关主题