SQL-Server-面试题_第1页
SQL-Server-面试题_第2页
SQL-Server-面试题_第3页
SQL-Server-面试题_第4页
SQL-Server-面试题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQLServer面试题维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么?答:尽可能用约束(包括CHECK主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。什么是事务?什么是锁?答:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。锁是在多用户环境中对数据的访问的限制。SqlServer自动锁定特定记录、字段或文件,防止

2、用户访问,以维护数据安全或防止并发数据操作问题,锁可以保证事务的完整性和并发性。什么是索引,有什么优点?答:索引象书的目录类似,索引使数据库程序无需扫描整个表,就可以在其中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值的行所存储的位置,索引可以是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提高数据库性能。视图是什么?游标是什么?答:视图是一种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进行增该查操作,视图通常是一个或多个表的行或列的子集,视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相比多表查询更方便),限制数据检索(比如需要隐藏某

3、些行或列),维护更方便。游标对查询出来的结果集作为一个单元来有效的处理,游标可以定位在结果集的特定行、从结果集的当前位置检索一行或多行、可以对结果集中当前位置进行修改。什么是存储过程?有什么优点?答:存储过程是一组予编译的SQL语句,它的优点有1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。2.允许更快执行,如果某操作需要执行大HSQL语句或重复执行,存储过程比SQL语句执行的要快。3.减少网络流虽,例如一个需要数白行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数白行代码。4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储

4、过程。什么是触发器?答:出发器是一种特殊类型的存储过程,出发器主要通过事件触发而被执行的,触发器的优点:1.强化约束,触发器能够提供比CHECK约束。2.跟踪变化,触发器可以跟踪数据库内的操作,从而不允许未经允许许可的更新和变化。3.联级运算,比如某个表上的触发器中包含对另一个表的数据操作,而该操作乂导致该表上的触发器被触发。介绍一下sqlserver的安全性?1、两种登陆方式:a) 标准登陆方式(sqlserver和windows),采用sqlserver提供的用户名和密码登陆连接,可用sp_denylogin'builtinadministrators'拒绝操作系统管理员登

5、陆连接(sp_grantlogin'builtinadministrators转),非信任登陆机制;这种认证方式是两种方式中最安全的。b) 集成登陆方式(仅windows),将windows的用户和工作组映射为sqlserver的登陆方式,也称信任机制。2、一个特殊帐户:sa,为系统默认帐户,不能删除,拥有最高的管理权限,可以执行sqlserver服务器范围内的所有操作,所以一定要给sa加上密码,密码推荐不少于6位,最后是字母、数字和特殊符号的组合。3、两个特殊数据库用户:a)dbo,数据库的拥有者,在安装sqlserver时,被设置到model数据库中,不能被删除,所以dbo在每个数

6、据库中都存在。dbo是数据库的最高权力者,对应于创建该数据库的登陆用户,即所有的数据库的dbo都对应于sa帐户;b)guest,这个用户可以使任何已经登陆到sqlserver服务器的用户都可以访问数据库,即使它还没有成为本数据库的用户。所有的系统数据库除model以外都有guest用户。所有新建的数据库都没有这个用户,如果油必要添加guest用户,请用sp_grantdbaccess来明确建立这个用户。4、还原数据库的时候之所以要删除本数据库的用户如user,然后在安全性7登陆里重新建这个用户和指定相应的use访问权限,是因为这个用户在master里不存在。当然你也可以用sp_addlogin

7、'user','resu'fusOS户,sp_change_users_login'update_one','user','user'来指定在master中1的对应。5、具有systemadministrators服务器角色的成员拥有与sa一样的权限,具有db_owner数据库角色的用户具有对本数据库的完全操作权限。如果在创建login的时候,选择了systemadministrators角色,那么该用户创建的对象都属于dbo用户。介绍一下SQLServer的全文索引?全文索引可以对存储在SQLServer数据库中

8、的文本数据执行快速检索功能。同LIKE谓词不同,全文索引只对字符模式进行操作,对字和语句执行搜索功能。全文索引对于查询非结构化数据非常有效。一般情况下,可以对char、varchar和nvarchar数据类型的列创建全文索引,同时,还可以对二进制格式的列创建索引,如image和varbinary数据类型列。对于这些二进制数据,无法使用LIKE谓词。为了对表创建全文索引,表必须包含单个、唯一、非空列。当执行全文检索的时候,SQLServer搜索引擎返回匹配搜索条件的行的键值。一般情况,使用sqlserver中的全文索引,经过大体4个步骤:1、安装全文索引服务;2、为数据表建立全文索引目录;3、使

9、全文索引与数据表内容同步;4、使用全文索引进行查询。SQLServer里面什么样的视图才能创建索引?在为视图创建索引前,视图本身必须满足以下条件:1、视图以及视图中引用的所有表都必须在同一数据库中,并具有同一个所有者。2、索引视图无需包含要供优化器使用的查询中引用的所有表。3、必须先为视图创建唯一群集索引,然后才可以创建其它索引。4、创建基表、视图和索引以及修改基表和视图中的数据时,必须正确设置某些SET选项(在本文档的后文中讨论)。另外,如果这些SET选项正确,查询优化器将不考虑索引视图。5、视图必须使用架构绑定创建,视图中引用的任何用户定义的函数必须使用SCHEMABINDING选项创建。

10、另外,还要求有一定的磁盘空间来存放由索引视图定义的数据。介绍一下SQLServer里面的索引视图?复杂报表的场景经常会在数据仓储应用程序中遇到,它在查询过程中会对数据库服务器产生大虽请求。当这些查询访问视图时,因为数据库将建立视图结果集所需的逻辑合并到从基本表数据建立完整查询结果集所需的逻辑中,所以性能将会下降。这一操作的开销可能会比较大,尤其当视图涉及到复杂的大虽行处理-如大虽数据聚合或多表联结时。因为结果集并不永久存放在数据库(标准视图)中,以后对该视图的访问可能导致在每次执行查询时建立结果集的代价。SQLServer允许为视图创建独特的聚集索引,从而让访问此类视图的查询的性能得到极大地改

11、善。在创建了这样一个索引后,视图将被执行,结果集将被存放在数据库中,存放的方式与带有聚集索引的表的存放方式相同。这就在数据库中有效地实现了查询结果。对于那些在FROM子句中不直接指定视图名的查询,SQLServer查询优化器将使用视图索引。现有查询将受益于从索引视图检索数据而无需重新编写程序原码的高效率。对于某些特定类型的视图,甚至可以获得指数级的性能改善。如果在视图上创建索引,那么视图中的数据会被立即存储在数据库中,对索引视图进行修改,那么这些修改会立即反映到基础表中。同理,对基础表所进行的数据修改也会反映到索引视图那里。索引的惟一性大大提高了SQLServer查找那些被修改的数据行。维护索

12、引视图比维护基础表的索引更为复杂。所以,如果认为值得以因数据修改而增加系统负担为代价来提高数据检索的速度,那么应该在视图上创建索引。SQLServer提供的3种恢复模型都是什么?有什么区别?SQLServer提供了3种恢复模型,分别是:1、简单恢复,允许将数据库恢复到最新的备份。2、完全恢复,允许将数据库恢复到故障点状态。3、大容HH志记录恢复,允许大容HH志记录操作。这些模型中的每个都是针对不同的性能、磁盘和磁带空间以及保护数据丢失的需要。例如,当选择恢复模型时,必须考虑下列业务要求之间的权衡:1、大规模操作的性能(如创建索引或大容虽装载)2、数据丢失表现(如已提交的事务丢失)。3、事务日志空间损耗4、备份和恢复过程的简化。根据正在执行的操作,可以有多个适合的模型。选择了恢复模型后,设计所需的备份和恢复过程。下表提供了三种恢复模型的优点和含义的概述。备份模型之间的比较恢复模型优点工作损失表现能否恢复到即时点?简单允许高性能大容虽复制操作。收回日志空间以使空间要求最小。必须重做自最新的数据库或差异备份后所发生的更改。可以恢复到任何备份的结尾处。随后必须重做更改。完全数据文件丢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论