-
SQLSERVER收集语句运行的统计信息并进行分析
对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间、执行时间、做了多少次磁盘读等。如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息...
数据库操作教程 2022-09-23 17:04:47 -
SQLServer高级内容之子查询和表链接概述及使用
1.子查询概念(1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就是自查询。(2)自查询的分类1)独立子查询->独立单值(标量)子查询(=)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuID=(selectstuIDfromStudentwherestuName='Kencery')->独立多值子查询(in)复制代码代码如下:SelecttestID,stuID,testBase,testBeyond,testProfromScorewherestuIDin(selectstuIDfromStudentwherestuName='Kencery')2)相关子查询(3)写子查询的注意事项1)子查询用一个圆括号阔气,有必要的时候需要为表取别名,使用“as名字”即可...
数据库操作教程 2022-09-23 17:04:40 -
SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞
误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的! 在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且….. 在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...
数据库操作教程 2022-09-23 17:04:37 -
SqlServer扩展属性的介绍
SqlServer帮助中对扩展属性的描述是:TheExtendedPropertiespropertysetsorretrievesprovider-specificconnectioninformationthatcannotbeexplicitlydescribedthroughthepropertymechanism.对于扩展属性有如下操作:复制代码代码如下:execsp_addextendedpropertyN'MS_Description',N'字段描述',N'user',N'dbo',N'table',N'表名',N'column',N'字段名'GO例如:EXECsp_addextendedpropertyN'MS_Description',N'地址',N'user',dbo,N'table',复制代码代码如下:N'a',N'column',a_addGO--我的表是a,要给字段a_add加上字段描述:地址其他相关:删除:复制代码代码如下:EXECsp_dropextendedpropertyN'MS_Description',N'user',dbo,N'table',N'...
数据库操作教程 2022-09-23 17:04:27 -
SQLServer误区30日谈第17天有关页校验和的误区
其实我之前已经有文章详细解释了页校验和:HowtotelliftheIOsubsystemiscausingcorruptions?误区#17:几个有关页校验和的误区坊间流传的基本是错误的 17a)页校验和(PageCheckSum)在从SQLServer2000或7.0升级上来之后自动开启 其实不是,从旧的实例升级上来的数据库不会自动开启页校验和,除非你显式使用ALTERDATABASEdatabasenameSETPAGE_VERIFYCHECKSUM进行开启。而在SQLServer2005或2008新建的数据库页校验和是默认开启的...
数据库操作教程 2022-09-23 17:04:11 -
SQLServer误区30日谈第22天资源调控器可以调控IO
误区#22:资源调控器可以调控IO错误 资源调控器无法调控IO,希望下一个版本的SQLServer支持调控IO,调控IO对于对于减少对于大表的scan操作带来的性能影响很有帮助。 下面列表中的功能资源调控器同样也无法完成:调控BufferPool的内存,内存调控器仅仅可以调控执行计划所占的内存,但对于BufferPool中缓存的数据页是无法调控的可以对多个实例进行当作一个逻辑实体进行资源调控...
数据库操作教程 2022-09-23 17:04:02 -
case嵌套查询与连接查询你需要懂得
1、Case子查询连接查询复制代码代码如下:select*fromscorecreatedatabasedemousedemocreatetable[user]([uId]intidentity(1,1)primarykey,[name]varchar(50),[level]int--1骨灰大虾菜鸟)insertinto[user](name,level)values('犀利哥',1)insertinto[user](name,level)values('小月月',2)insertinto[user](name,level)values('芙蓉姐姐',3)--caseend单值判断相当于switchcase--then后面的返回值类型必须一致select[name],case[level]when1then'骨灰'when2then'大虾'when3then'菜鸟'endas'等级'from[user]useMySchoolselect*fromscore--caseend第二种用法,相当于多重if语句selectstudentId,casewhenenglish>=90then...
数据库操作教程 2022-09-23 17:04:01 -
SQLServer误区30日谈第11天镜像在检测到故障后瞬间就能故障转移
误区#11:镜像在检测到故障后瞬间就能故障转移错误 数据库镜像的故障转移既可以自动发起,也可以手动发起。 在自动发起的情况下,是由镜像服务器执行故障转移操作(你没有看错,并不是由见证服务器来做故障转移的决定),在见证服务器和镜像服务器都发现无法和主体服务器交换信息(这个过程被称为”形成仲裁”,译者注:也就是通过程序对集群进行监管,集群可用的依据来自监管程序的算法,比如根据:每个节点的配置,文件共享情况,磁盘访问情况,每个节点的可用性等来确定集群是否可用)并且镜像方式是同步时,可以进行故障转移...
数据库操作教程 2022-09-23 17:03:54 -
SQLServer误区30日谈第24天26个有关还原(Restore)的误区
本系列文章一直所没有触及的就是有关”还原(Restore)”的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡...
数据库操作教程 2022-09-23 17:03:52 -
SQLServer误区30日谈第20天破坏日志备份链之后,需要一个完整备份来重新开始日志链
误区#20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链错误事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开始新的日志链,SQLServer无法再进行日志备份...
数据库操作教程 2022-09-23 17:03:48 -
sqlserver索引的原理及索引建立的注意事项小结
聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样...
数据库操作教程 2022-09-23 17:03:35 -
SQLServer误区30日谈第23天有关锁升级的误区
误区#23:锁升级的过程是由行锁升级到页锁,再由页锁升级到表锁错误 实际不是,在SQLServer2005和之前的版本,页锁会直接升级到表锁。 在SQLServer2005或SQLServer2008,你可以通过如下跟踪标志改变锁升级的行为:标志1211-完全禁止锁升级,但锁使用的内存会被限制在动态分配内存的60%,当超过这个值时,更多的锁将会伴随着内存溢出错误而失败...
数据库操作教程 2022-09-23 17:03:27