SQL Server基础知识三十三问 (15-21)

15. 存储过程可以调用自己么, 或者说可能有递归的存储过程么? SP nesting最多可以到多少层?

答: 可以的. 因为Transact-SQL 支持递归, 你可以编写可以调用自己的存储过程. 敌对可以被定义为一种解决问题的方法, 其中问题的解决是通过不断的对问题的子集调用自己而达成的. 当一个存储过程调用另一个存储过程或执行CLR的routine, type, 或aggregate时, 就会形成嵌套(nest). 你最多可以嵌套存储过程或托管代码的层级为32层.

 

16. 什么是log shipping?

答: log shipping是一种在生产环境上自动备份数据库和transaction log文件, 然后还原到另一台待机的服务器的过程. 企业版支持log shipping. 在log shipping中, 一台机器上的transaction log被自动地更新到另一台服务器上的备份的数据库中. 如果一台服务器fail了, 那么另一台服务器会有同样的DB并且可以被用来作为disaster recovery plan的一部分. log shipping的关键特性是它会全天自动地备份transaction log, 并且以预设的时间间隙自动地restore它们到待机的服务器上.

 

17. 给出三种获得表中记录条目的方法?

答:

SELECT * FROM table1 
SELECT COUNT(*) FROM table1 
SELECT rows FROM sysindexes WHERE id = OBJECT_ID(table1) AND indid < 2

 

18. 开关QUOTED_IDENTIFIER打开是什么意思? 那关掉又意味着什么?

答:

SET QUOTED_IDENTIFIER ON的时候, 标识符可以被双引号(double quotation mark)来分隔, 字面原文(literal)必须被单引号(single quotation mark)分隔. 当QUOTED_IDENTIFIER为OFF时, 标识符不能被括起来, 并且必须遵循所有的Transact SQL中对于标识符(identifier)的规则.

来源

=========================

SQL Server - Common Interview Questions and Answers

http://www.indiabix.com/technical/sql-server-common-questions/3

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。