内容发布更新时间 : 2024/11/15 5:42:34星期一 下面是文章的全部内容请认真阅读。
A、设置频繁的互相连接的表加入同一个文件群,设置经常存取的表和所有的属于这些表的索引到另一个文件群。
B、设置频繁的互相连接的表加入同一个文件群,设置经常存取的表和所有的属于这些表的非簇索引到不同的文件群。
C、设置频繁的互相连接的表加入不同的文件群,设置经常存取的表和所有的属于这些表的非簇索引到不同的文件群。
D、设置频繁的互相连接的表加入不同的文件群,设置经常存取的表和所有的属于这些表的非簇索引到同一个文件群。 答案: C、
60. 你是一个数据公司的数据库开发人员,你建立了一个存储了15个不同的高中运动成绩的统计数据库,这些信息将被50个在Web站点上发布运动信息的公司使用,每个公司的站点安排和使用这些统计数据的格式是不同的。 你要将数据打包传送给公司,你将怎么做?
A、使用包含FOR XML选项的SELECT语句提取数据。
B、对SELECT语句返回的数据使用sp_makewebtask系统存储过程来生成HTML数据。 C、对数据库输出的数据建立数据转换服务包,形成使用TAB界定符的文本文件。
D、建立一个使用SEL_DMO的应用程序来提取数据库中的数据,并将这些数据转换到标准EDI(electronic data interchange)文件。 答案: A、
61 .你是一个邮购公司的数据库开发人员,公司有两台使用SQL Server的计算机,分别为CORP1和CORP2。CORP1是一台联机事务处理服务器,CORP2存储销售历史数据。CORP2作为一台连接服务器到CORP1上。销售部经理要求你建立一个购买软盘的客户的列表,这个列表将每个月产生一次邮购的奖品,软盘在数据库中的类别ID为21。
你必须从一个名为SalesHistory的表中刷新这个信息,这个文件存储在CORP2的一个数据库上,你要从CORP1上执行这个查询,你将使用哪条脚本语句查询?
A、 EXEC sp_addlinkedserver ‘CORP2’, ‘SQL Server’ GO
SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID = 21
B、 SELECT CustomerID FROM OPENROWSET (?SQLOLEDB?, ?CORP2?; ?p*word?, ?SELECT
CustomerID FROM Archive.dbo.SalesHistory WHERE CategoryID = 21?)
C、 SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID = 21
D、 EXEC sp_addserver ?CORP2? GO
SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistory WHERE CategoryID = 21 答案: C、
62 .你是一个保险公司的数据库开发人员,这家保险公司有一个用于保单或保单所有者的多层的应用。保单所有者信息存储在一个名为Owners的表中,下面的语句用于建立这个表, 当保单所有者的信息输入时,若不包括所有者的出生年月,数据库要产生一个错误信息。你要设计一个方法来校验出生日期数据是否填写,没有的情况下要显示错误信息。 你将怎么做?
A、在BirthDate 字段上加上CHECK约束。
B、建立一个规则,并将这个规则绑定在BirthDate字段上。 C、改变Owners表使BirthDate字段不能为空。
D、在Owners表上建立一个触发器校验BirthDate字段。 答案 D
63 .你是公司的SQL Server数据库开发人员,你修改了数据库中的几个存储程序来建立销售部的月底报表,程序中包含了从三个或更多的表中提取的数据的复杂查询,所有这些表都至少有一个索引。用户报告说这些月底报表比以前的版本的明显要慢,你要改进这些报表的性能,将怎么做?
A、对每个存储程序建立一个使用DDL的脚本,使用这个脚本统计工作量作为索引调整的Wizard。
B、在SQL Profiler中捕捉每个存储程序的执行信息,使用这个信息文件统计工作量作为索引调整的Wizard。
C、修改用于存储程序的表的索引统计信息。
D、在SQL查询分析器中执行每个存储程序,使用Show Execution Plan选项。 e.在SQL查询分析器中执行每个存储程序,使用Show Server Trace选项。 答案: E.
64 .你设计了用于购买音乐会票的站点的数据库,在买票的过程中,用户先查看余票的列表,决定是否购买;余票的列表对应于一个指针。对于流行音乐会,可能数以千计的观众可能在同时购票,由于这个原因,你必须允许尽量多的对数据的同时存取。你将怎样设计这个指针?
A、建立基于外在事务的指针,并设置事务孤立处理级别为REPEATABLE READ、 B、建立使用乐观的并发性和立即修改的指针,在指针中,设置外在事务的属性为立即修改。 C、建立使用乐观的并发性的指针,在指针中,使用UPDATE语句并置为在WHERE语句处直接修改关键字,并将UPDATE语句置于内在事物的处理中。
D、建立使用位置修改的指针,包括SCROLL_LOCKS参数定义强制的悲观的并发性。在指针中,设置内在事物的UPDATE属性。 答案: B、
65.你是一个集装箱制造公司的数据库开发人员,公司制造的集装箱有不同的尺寸和形状,存储的集装箱信息的表有Size、Container、Shape。
一般来说,集装箱的尺寸周期性的改变,数据库的用户需要知道集装箱的容量,容量是基于Shape、size表中的数据计算得到的。你要隐藏计算的细节,使用一个SELECT查询可以方便的得到,你将怎么做?
A、建立一个用户定义的函数,使用ContainerID作为参数,返回集装箱的容量。 B、建立一个程序,使用ContainerID作为参数,返回集装箱的容量。
C、在Container表中加入名为volume的一列,当一个新集装箱加入表中时,建立一个触发器计算和存储这列的值。
D、在Container表中加入一个计算过的列计算集装箱的容量。
答案: A、
66 .你是一个大型旅游公司的数据库管理员,公司的每个部门的信息存储在名为Department的表中,公司的旅游代理和部门经理的信息存储在名为Employees的表中,其中的SQLLogin字段包括了旅游代理或部门经理的登录数据库的口令,如图所示。
每个部门经理都被加入管理数据库成员。你需要允许这个数据库的成员察看department表,成员只有对自己部门的记录有增加或修改的权力。你赋予管理数据库的成员以查询Department表的权限,下一步做什么?
A、在Department表上建立一个触发器,检查登录数据库、执行插入修改操作的用户是否是那个部门的成员。
B、建立一个包含Department表所有字段和Employees表中的SQLLogin字段的视图。 C、在视图定义中包括WITH CHECK OPTION选项。 D、在Department表中赋予INSERT和UPDATE的权限。
e.在Employees表中的SQLLogin字段上赋予INSERT和UPDATE的权限。 答案: B、
67 .你是一个出版公司的数据库开发人员,对特定的书名的每天的销售情况建立了如下的存储过程:
CREATE PROCEDURE get_sales_for_title %title varchar(80), @ytd_sales int OUTPUT AS
SELECT @ytd_sales = ytd_sales FROM titles
WHERE title = @title IF @@ROWCOUNT = 0 RETURN(-1) ELSE
RETURN(0)
另外建立了一个脚本执行这个存储过程,如果执行成功,将返回对应于书名的每天的销售情况的报表,如果执行失败,将返回“No Sales Found”,怎样建立这个脚本? A、 DECLARE @retval int DECLARE @ytd int
EXEC get_sales_for_title ?Net Etiquette?, @ytd IF @retval < 0
PRINT ?No sales found? ELSE
PRINT ?Year to date sales: ? + STR (@ytd) GO
B、 DECLARE @retval int DECLARE @ytd int
EXEC get_sales_for_title ?Net Etiquette?, @ytd OUTPUT IF @retval < 0
PRINT ?No sales found? ELSE
PRINT ?Year to date sales: ? + STR (@ytd) GO
C、 DECLARE @retval int DECLARE @ytd int
EXEC get_sales_for_title ?Net Etiquette?,@retval OUTPUT IF @retval < 0
PRINT ?No sales found? ELSE
PRINT ?Year to date sales: ? + STR (@ytd) GO
D、 DECLARE @retval int DECLARE @ytd int
EXEC @retval = get_sales_for_title ?Net Etiquette?, @ytd OUTPUT IF @retval < 0
PRINT ?No sales found? ELSE
PRINT ?Year to date sales: ? + STR (@ytd) GO
答案: D、
68 .你是一个保险公司的数据库开发人员,公司的保单信息存储在SQL Server 2005数据库中,你使用以下脚本建立了一个名为Policy的表: CREATE TABLE Policy (
PolicyNumber int NOT NULL DEFAULT (0), InsuredLastName char (30) NOT NULL, InsuredFirstName char (20) NOT NULL, InsuredBirthDate datetime NOT NULL, PolicyDate datetime NOT NULL, FaceAmount money NOT NULL,
CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber) )
每次公司销售出一份保单,Policy表中就增加一条记录,并赋予其一个新的保单号,你将怎么做?
A、建立一个INSTEAD OF INSERT触发器来产生一个新的保单号,并将这个保单号插入数据表中。
B、建立一个INSTEAD OF UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
C、建立一个AFTER UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
D、用AFTER UPDATE触发器替代DEFAULT约束条件产生一个新的保单号,并将这个保单号插入数据表中。 答案: A、
69 .你是一个公司的关于工作时间报告的数据库开发人员,一般平均有5个用户同时存取这个数据库,并且查询时间要小于1秒。然而,在周五下午或周一早上,大部分雇员输入他们的考勤数据时,数据库可能会有同时50个用户使用,这时,查询返回时间平均是15到20秒。
你需要发现查询变慢的原因并解决这个问题,你将怎么做?
A、使用sp_lock和 sp_who系统存储过程发现锁定的资源,并确定占用锁的进程,使用这个信息确定和重新设计导致资源锁定的事务处理。
B、查询sysprocesses和sysobjects系统表,发现死锁的资源,并确定占有这些资源的进程,对死锁的资源设定一个更短的进程占有时间限制。
C、查询sysprocesses系统表,发现那些资源被存取,在所有这些被存取的表的主关键字加上一个簇索引。
D、使用sp_monitor系统存储过程发现哪个进程导致查询反映时间增加,对这些进程设置更小的限制事务隔离级别。 答案: A、
70 .你是一个Trey研究所的数据库开发人员,你设计了一个供众多公司使用的分布式的SQL Server 2005数据库。在数据库中包括保密信息的存储过程,要防止别的公司看到这些保密的信息,你将怎么做?
A、从syscomments系统表中删除存储过程的文本。 B、对存储过程的文本加密。
C、拒绝syscomments系统表中对public用户的SELECT权限。 D、拒绝sysobjects系统表中对public用户的SELECT权限。 答案: B、
71 .你是Woodgrove 银行的数据库开发人员。公司的销售数据储存在一个SQL服务器中。你想在这个数据库中创建索引视图。为了达到这个目的,你执行了以下脚本。
索引创建失败,你收到错误信息。你想忽略这个错误信息并创建索引。你应该怎么做? A、在视图中添加ORDER BY 从句。 B、 在视图中添加HAVING 从句。
C、 将NUMERIC_ROUNDABORT 选项设置为ON。 D、 将索引转变成一个唯一的,非簇索引。
e. 在视图中添加WITH SCHEMABINDING选项。 答案: E.
72 .你是公司里SQL Server 2005数据库的开发人员。你正在删除数据库中再也不会使用的对象。但是你无法删除1997Sales 视图。检查后你发现这个视图有以下特征: 视图中有簇索引
销售数据库角色对该使徒有权限。
该视图启用了WITH SCHEMABINDING 选项。 一个schema-bound 在线函数引用了该视图。 在该视图中定义了INSTEAD OF 触发器。 那么要删除这个视图,你该怎么办? A、 删除该视图中的簇索引。 B、 删除视图中的所有权限。
C、 删除视图中的WITH SCHEMABINDING 选项。
D、 删除引用该视图的函数的WITH SCHEMABINDING 选项。 e. 不启用视图中的INSTEAD OF 触发器。 答案: D、
73 .你是Woodgrove 银行的数据库开发人员,管理一个名叫Accounts 的数据库。另一个开发人员正在为银行创建多层应用程序。银行的职员将使用这个程序来管理客户帐户信息。这位开发人员需要从Accounts数据库中获得客户名并将这些名字放入程序中的下拉菜单中。