SQL微软考证资料Word文件下载.docx
《SQL微软考证资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL微软考证资料Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。
选两项。
)(BD)
A.用osql实用工具连接到SQL1。
B.使用专用管理员连接的sqlcmd实用工具连接到SQL1。
C.用SQLServerManagementStudio连接到SQL1。
打开一个查询窗口并执行以下语句:
DBCCTRACEON1244
D.在SQLServerManagementStudio中,在工具栏上,点击数据库引擎查询以打开连接到数据库引擎对话框。
在服务器名称文本框内,敲入ADMIN:
SQL1。
选择SQLServer身份认证并提供你的sa身份。
点击连接按钮。
4、你是公司A的数据库管理员。
现在,你需要创建一个名为Sales的新数据库。
这个新数据库必须满足如下要求:
1)数据文件大小为10,000MB;
2)日志文件大小为3,000MB;
3)数据文件和日志文件的“自动增长、文件最大尺寸”设置项都采用默认设置。
4)事务日志必须被存储在可容错分区上。
5)数据文件,事务日志文件,Windows应用必须被安装在不同磁盘分区上。
6)数据库文件必须被存储在相应分区根下名为SQL的文件夹中。
7)数据库应该被设置为自动截断事务日志。
已知,你的服务器有效的磁盘分区如下:
有效磁盘分区
RAID级
剩余空间
C:
(WindowsVolume)
RAID1
20GB
D:
E:
RAID0
你为了按照上面条件创建出Sales数据库,你应该如何设置新数据库对话框的参数值?
5、你的SQLServer2005数据库包含一个有500,000,000行数据的表。
其中,一些是历史数据,一些是当前的数据。
你需要在一个服务器上对数据进行分区,以提高性能和优化管理。
你应该怎么做?
(A)
A.进行水平分区。
B.进行垂直分区。
C.进行原始分区(rawpartition)。
D.进行分布式分区(distributedpartitioning)
6、你的部门负责从SQLServer2005数据库中的数据创建客户电子邮件地址列表。
此列表必须包含上次联系每个客户的日期。
结果集中的数据必须有列名。
列表必须以上次联系客户的日期排序,最近联系的人排在前边。
LastContact列以datetime类型存储。
日期应以MM/DD/YYYY的形式显示。
一位同事设计了以下查询:
SELECTemail_addressASEmailAddress,CONVERT(nvarchar,lastcontat,101)ASLastContactFROMContactORDERBYLastContactDESC你测试了此查询,并发现数据按如下顺序显示:
你需要修改此查询以使数据按正确的顺序排列。
你想要对性能不造成任何负面影响而达成此目标,该怎样做?
(D)
A.按如下修改ORDERBY语句:
ORDERBYCONVERT(nvarchar,lastcontact,101)DESC
B.从LastContact列中删除列别名。
C.按如下修改ORDERBY语句:
ORDERBYCAST(lastcontactASnvarchar(20))DESC
D.改变LastContact列的别名
7、你是公司A在北京总部SQLSERVER2005数据库的管理员.销售部门需要一个包含了上个季度北京总部和天津分公司客户活动信息对比的报表,并且数据需要按照surname和firstname进行排序.恰好,在你的服务器上有一个天津分部数据库最近的备份,为此,你可以通过写一个查询来实现这个报表,并且对数据按照Surname和FirstName列进行排序。
可是你发现天津分部客户数据是按照不同的方式进行排序的;
销售部门需要在15分钟内进行数据展示。
为此,你需要以最快的解决方案得到已排序的数据并确保来源于两个数据库数据排序方式是一致的。
你应该如何做?
(D)
A.使用复制数据库向导把天津分部的数据复制到一个新的数据库中,并且在复制过程中指定和北京总部数据同样的排序规则。
B.使用数据导入导出向导导出天津分部的数据到一个新的表中,并且在导出过程中指定和北京总部数据同样的排序规则。
C.修改数据格式文件使其和北京总部数据采用同样的排序规则,然后在导入数据。
D.修改查询天津分部数据的SQL语句,使其在ORDERBY子句中使用COLLATE子句并指定和北京总部数据同样的排序规则。
8、你工作在一个售书公司.你正在基于SQLSERVER2005数据库创建一个报表。
此报表显示本月超过销售配额的销售代表及他们的销售额。
已知,销售配额为$2,000。
查询的起始日期和截至日期以变量@FromDate和@ToDate传递进来。
为了实现满足上述条件的报表,你应该使用下面那一个SQL查询语句?
(C)
9、你是公司A的数据库管理员。
你需要创建一个维护计划去重建DB1数据库的索引。
要求:
1)新建索引时填充因子必须为90,而且填充因子必须被应用到索引的叶子级和索引平衡树。
2)当维护计划在运行时,所有表必须是可查询的。
请问,你该如何设置维护计划向导中“定义重新生成索引”任务页的选项?
答案:
10、公司A使用SQLServer2005.有用户反馈说报表执行缓慢。
你经过调查后发现一些查询并没有选择使用最优的执行计划,同时你也注意到一些优化器统计数据并没有被使用并且另一些也过期了。
现在,需要去改正这个问题让报表执行更快,你将会使用下面那两个SQL语句?
(CD)
A.DBCCCHECKTABLE
B.ALTERINDEXREORGANIZE
C.UPDATESTATISTICS
D.CREATESTATISTICS
E.DBCCSHOW_STATISTICS
F.DBCCUPDATEUSAGE
11、你负责管理一个SQLSERVER2005数据库。
它包含一个有很多索引的表。
随着时间的流逝,你发现对这个表进行数据修改时的性能越来越差。
你怀疑可能是一些无用索引造成的。
为此需要找到自从最后一次SQLServer2005启动以来那些索引是没有被任何查询使用过。
你应该使用下面哪一个动态试图?
A.sys.dm_fts_index_population
B.sys.dm_exec_query_stats
C.sys.dm_db_index_usage_stats
D.sys.dm_db_index_physical_stats
12、你正在使用SQLSERVER2005服务器SQL1上的一个名为DB1的数据库。
DB17X24小时不间断运行。
DB1最近的一个副本保存在名为SQLtest的服务器上,SQLtest同时也在运行着SQLSERVER2005.你发觉在SQL1上的查询存在着大量的对表完全扫描,为此你得出结论DB1数据库需要额外的索引。
目前已经有适合DTA(DatabasengineTuningAdvisor:
数据库引擎优化顾问)的工作负荷文件,你需要做的是利用DTA对工作负荷文件进行分析。
在分析的过程中,你必须要保证SQL1服务器良好的工作性能,而且要保证DTA推荐的建议是有效的。
你应该如何实现这个目标?
(B)
A.把工作负荷文件保存在SQL1上。
在SQLTest上启动DTA并连接到SQL1上,然后选上所有的优化选项并且在高级选项对话框中选中“仅生成联机建议”,然后启动分析。
B.把工作负荷文件存储在SQLtest上。
在SQLTest上启动DTA并连接到SQLTest上,然后选上所有的优化选项并且在高级选项对话框中选中“仅生成联机建议”,然后启动分析。
C.把工作负荷文件保存在SQL1上。
在SQL1上启动DTA并连接到SQL1上,然后选上所有的优化选项并且在高级选项对话框中选中“所有建议均为脱机建议”,然后启动分析。
D.把工作负荷文件存储在SQLtest上。
在SQLTest上启动DTA并连接到SQLTest上,然后选上所有的优化选项并且在高级选项对话框中选中“所有建议均为脱机建议”,然后启动分析。
13、你是公司A北京分公司的DBA。
公司使用的是SQLSERVER2005数据库,它不包含任何视图。
你要用数据库引擎优化顾问(DTA)去优化这个数据库。
适合的工作负荷文件已经存在了。
现在,你只需要找到目前缺少的非聚集索引。
在整个处理的过程中,你需要保证现有的物理架构完好,并且优化建议对于分区数据有最好的性能。
为了达到这个目标,你应该如何配置DTA选项?
非聚集索引,完全分区,保留所有现有PDS
14、你在为一家银行工作。
这家银行使用SQLSERVER2005数据库存储客户的在线交易数据。
已知,银行每天处理大约50,000次交易。
应用系统必须要求在列TransactionID上有一个聚集索引。
现在,你要为交易创建一个表,它能高效的支持按日期进行交易报表的查询。
请问,下面那两种方法可以达到这个目的?
(AD)
A.以日期列创建一个非聚集索引。
B.以日期列创建唯一聚集索引。
C.映射每一个数据分区到一个文件组上,每一文件组放置在不同的物理磁盘上。
D.创建一个以日期进行分区的分区方案。
15、公司A的网站包含一个客户用来提交公司和公司产品信息反馈的页面。
你用SQLSERVER2005数据库中Feedback表中的列Comments去存储反馈信息。
需要在列Comments上执行全文搜索从而创建报表。
下面那两步你是必须要做的?
(请选择两项)
(CD)
A.在Comments列创建一个非聚集索引。
B.执行USEMasterTransact-SQL语句。
C.创建全文目录。
D.在列Comments上创建全文索引。
16、你正在SQLSERVER2005服务器上一个名为DB1的数据库上进行着工作。
你发现由于对DB1中Table1表的扫描导致了查询执行缓慢。
已知,Table是一个使用频繁而且非常巨大的表,同时你又确定了查询中包含如下的语句:
SELECTcol1,col2FROMtable1WHEREcol3=<
value>
。
在表保持对所有用户有效的情况下,为了最大化的提高查询性能,你应该怎么做?
(D)
A.更新DB1数据库中表Table1的所有统计信息。
B.在DB1数据库中,使用CREATESTATISTICS语句为表Table1的列col3创建缺少的统计信息。
C.设置优先值提升选项的值为1。
D.执行如下语句:
USEDB1GOCREATEINDEXindex1ONtable1(col3)INCLUDE(col1,col2)WITH(ONLINE=ON)GO
E.执行如下语句USEDB1GOCREATEINDEXindex1ONtable1(col3,col2,col1)
17、你发现SQLServer2005数据库中sales表的所有索引的碎片都很严重。
现在,你要将sales表全部索引的碎片减到最小,同时却不影响任何用户使用sales表。
该怎样做?
(C)
A.对包含销售表的磁盘进行碎片整理。
B.执行以下语句:
USEmaster;
GODBCCCLEANTABLE(‘DB1’.’sales’);
GO
C.执行以下语句:
USEDB1;
GOALTERINDEXALLONsalesREORGANIZEWITH(LOB_COMPACTION=ON);
D.执行以下语句:
GOALTERINDEXALLONsalesREBUILD;
18、你打算从SQLServer2000数据库的客户表和国别表中导入客户数据到SQLServer2005数据库中。
你要确保在导入过程中,客户表中国家代码列的每个值在SQLServer2005数据库中国别表内都有其相应的纪录。
你在两个表之间定义一外键,这样,参照完整性将保证若国家代码值在客户表中存在,而在国别表中不存在时导入程序失败。
你要确保国别表无记录时导入过程不失败,该怎么做?
A.删除外键,用脚本导入数据,重新创建外键。
B.创建一个CHECK约束。
C.创建一个DMLINSTEADOF触发器,将错误记录写入文件或表中。
D.创建一个DMLAFTER触发器,将错误纪录写入文件或表中
19、公司A使用SQLServer2005数据库。
来自贸易伙伴的客户数据每天晚上都要导入到客户表。
你要确保,在导入的过程中,对于存在的客户数据进行更新、对于不存在的客户数据进行插入。
你该怎么做?
(B)
A.创建一个FOR触发器。
B.创建一个INSTEADOF触发器。
C.创建一个AFTER触发器。
D.创建一个DDL触发器。
20、你是公司A的数据库管理员。
在数据库服务器上只有一个非系统数据库MyCrmDB。
公司新的安全策略要求:
在数据库服务器上不允许执行嵌套触发器。
为此,你如何确认你的数据库服务器是否满足新安全策略的要求。
21、公司A使用SQLSERVER2005数据库。
数据库包含一个名为trg_InsertOrders的触发器,这个触发器在订单数据插入到订单表的时候触发。
trg_InsertOrders触发器主要是负责在插入订单数据的时候检查相应的客户在客户表中存在。
现在,你需要配置这个触发器,使他在导入数据的过程中不被触发。
现要求你用最便捷的方法达到这个目标,你应该选择下面那两个方法?
(请选择两个答案)(AC)
A.ALTERTABLEOrdersDISABLETRIGGERtrg_InsertOrders
B.DROPTRIGGERtrg_InsertOrders
C.DISABLETRIGGERtrg_InsertOrdersONOrders
D.ALTERTRIGGERtrg_InsertOrdersONOrdersNOTFORREPLICATION
E.sp_settriggerorder@triggername='
trg_InsertOrders'
@order='
None'
22、你正在修改SQLSERVER2005数据库中的Product表。
你想去为它增加一个存储产品友好名称的列FriendlyName。
已知Product表已经包含有数据,并且FriendlyName列要求是一个非空列,然而销售部门并没有为每个产品都提供了友好名称。
如果你想用最快、最少的工作完成增加新列,你应该如何做?
A.定义一个可以为空的新列FriendlyName,然后更新列FriendlyName的数据为某个值,最后修改FriendlyName列为NOTNULL。
B.定义一个不可为空、缺省值为'
Undefined.'
的新列FriendlyName。
C.定义一个可以为空的新列FriendlyName。
然后在应用逻辑中实现数据不可为空的约束。
D.定义一个可为空、缺省值为'
的新列FriendlyName。
23、你在负责管理用于订单应用的SQLSERVER2005数据库的方案。
在你完成一个视图设计以后,一位开发人员要求你为Product表增加一新的列CommissionRate(佣金百分比)。
已知,目前所有产品的佣金百分比是未知的,但是每个产品默认的佣金百分比为12%。
这个比率是能够被修改的。
因此,在你增加一个新的列后,你需要配置Product表以最有效的方式为新列指定默认值,你应该怎怎么做?
A.创建一个INSERT触发器去设置表中每一项的默认值。
B.创建一个CHECK约束去验证数据,并设置表中每一项的默认值。
C.创建一个UPDATE触发器去更新表中每一项的默认值。
D.创建一个DEFAULT约束,利用WITHVALUES子句设置默认值。
24、正在使用一个SQLServer2005数据库,它包含一个名为Customers的表。
其中Customers表包含如下的列定义:
你使用以下Transact-SQL语句创建一个名为v_Customer的视图。
CREATEVIEWv_CustomerAS
SELECTCustomerID,CompanyName,FirstName,LastName,Picture
FROMCustomers。
你想要在v_Customer视图中创建一索引。
在创建索引前,还需要修改此Transact-SQL语句。
应采取以下哪两项举措?
(每项正确答案代表方案的一部分。
)(BC)
A.将Picture列改为image数据类型。
B.表名包含模式名。
C.包含WITHSCHEMABINDING语句
D.在Select语句中用*符号选择所有的列
25、你需要在SQLServer2005数据库中创建一个连接客户表与订单表的视图。
同时要确保底层数据表方案的更改不会影响到视图。
你想要以可能的最小开销量达成此目标,你要怎样做?
A.在数据表中创建CHECK约束
B.创建一个DDL触发器,若改动对视图中的列产生了影响,它将回滚到更改之前的数据表。
C.创建视图时指定WITHSCHEMABINDING选项。
D.创建视图时指定WITHCHECK选项
26、你正在SQLSERVER2005数据库中创建一个连接Customers和Orders表的视图。
你需要确信不能按照将影响视图定义的方式修改基表或表。
为了达到这个目标,最简单且节省管理成本的方法应该是?
A.在表上创建一个CHECK约束。
B.在表上创建一个DDL触发器,如果对表的修改影响了视图定义则回滚任何对表的改变。
C.在创建视图的时候,指定WITHSCHEMABINDING选项。
D.在创建视图的时候,指定WITHCHECK选项。
27、你正在负责管理公司一个SQLSERVER2005数据库。
公司使用一个连接客户和销售表的视图v_CustomerSales进行例行的业务分析。
他们用这个视图按月按客户进行销售数据汇总。
为了,提高视图的性能,你应该怎么做?
A.修改视图,在表Customers和Sales之间采用外连接(outerjoin)。
B.为视图v_CustomerSales新建一个聚集索引。
C.为Customers表和Sales表分别创建v_Customers和v_Sales视图。
在每个视图中不包含任何的连接关系。
D.用v_CustomerSales视图创建一个存储过程来进行业务分析。
28、公司A使用SQLSERVER2005数据库。
你正在实现一系列用在adhoc查询(即席查询)的视图。
这些视图用来增强公司A数据访问的安全性。
可是,其中的某些视图查询数据缓慢,为此,在你进行公司安全策略维护的时候,想给这些视图创建一些索引,以提高性能。
其中,有一个视图并不允许你创建索引。
已知,这个视图使用了GETDATE()函数返回当前日期作为视图的一列。
请问,为了在这个视图上能够创建索引,你应该如何做?
(选择两个答案)(BC)
A.移除视图中所有对确定性函数的调用。
B.移除视图中所有对非确定性函数的调用。
C.对视图中使用的所有函数进行架构绑定。
D.在创建视图的时候指定WITHCHECKOPTION子句。
29、你正在SQLSERVER2005数据库中创建一个从联系人表删除联系人数据的存储过程。
在存储过程中包含如下的语句来处理可能发生的任何错误。
BEGINTRY
BEGINTRANSACTION
DELETEFROMPerson.ContactWHEREContactID=@ContactID
COMMITTRANSACTION
ENDTRY
BEGINCATCH
DECLARE@ErrorMessagenvarchar(2000)
DECLARE@ErrorSeverityint
DECLARE@ErrorStateint
SELECT@ErrorMessage=ERROR_MESSAGE(),@ErrorSeverity=RROR_SEVERITY(),
@ErrorState=ERROR_STATE()RAISERROR
(@ErrorMessage,@ErrorSeverity,@ErrorState)
ENDCATCH;
在你执行存储过程后发现,事务任然保持打开状态。
为了正确的处理打开的事务,你应该如何修改你的存储过程?
A.在CATCH语句块增加COMMITTRANSACTION命令。
B.在