-
SQL Server误区30日谈 第22天 资源调控器可以调控IO
所属栏目:[MsSql教程] 日期:2020-12-12 热度:113
误区 #22: 资源调控器可以调控IO 错误 资源调控器无法调控IO,希望下一个版本的SQL Server支持调控IO,调控IO对于对于减少对于大表的scan操作带来的性能影响很有帮助。 下面列表中的功能资源调控器同样也无法完成: 调控Buffer Pool的内存,内存调控器仅仅可[详细]
-
SQL Server误区30日谈 第23天 有关锁升级的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:109
误区 #23: 锁升级的过程是由行锁升级到页锁,再由页锁升级到表锁 错误 实际不是,在SQL Server 2005和之前的版本,页锁会直接升级到表锁。 在SQL Server 2005或SQL Server 2008,你可以通过如下跟踪标志改变锁升级的行为:标志1211-完全禁止锁升级,但锁使用[详细]
-
SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:164
本系列文章一直所没有触及的就是有关”还原(Restore)”的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。 事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡。下面开始揭穿这26个误区。 误区[详细]
-
SQL Server误区30日谈 第25天 有关填充因子的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:89
误区 #25:多个有关填充因子的误区 都是错误的 25a) 填充因子是一直存在的 不是的,通过 Books Online 可以看到(译者:我在新版的BOL没有找到这句话): 重要: 填充因子仅仅在索引创建或重建时生效,SQL Server存储引擎并不会一直保证页内的空闲值和填充因子保[详细]
-
SQL Server误区30日谈 第26天 SQL Server中存在真正的“事务嵌套
所属栏目:[MsSql教程] 日期:2020-12-12 热度:156
误区 #26: SQL Server中存在真正的“事务嵌套” 错误 嵌套事务可不会像其语法表现的那样看起来允许事务嵌套。我真不知道为什么有人会这样写代码,我唯一能够想到的就是某个哥们对SQL Server社区嗤之以鼻然后写了这样的代码说:“玩玩你们”。 让我更详细的解[详细]
-
SQL Server误区30日谈 第27天 使用BACKUP WITH CHECKSUM可以替代
所属栏目:[MsSql教程] 日期:2020-12-12 热度:172
误区 #27:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB 错误 乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQL Server 2000或是更早版本升上来的数据库page ch[详细]
-
SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:170
误区 #28:有关大容量事务日志恢复模式的几个误区 28 a)常见的DML操作可以被“最小记录日志” 不是。在大容量事务日志恢复模式下只有一小部分批量操作可以被“最小记录日志”,这类操作的列表可以在 Operations That Can Be Minimally Logged 找到。这是适合SQ[详细]
-
SQL Server误区30日谈 第29天 有关堆碎片的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:174
误区 #29:可以通过对堆建聚集索引再DROP后进行堆上的碎片整理 Nooooooooooooo!!! 对堆建聚集索引再DROP在我看来是除了收缩数据库之外最2的事了。 如果你通过sys.dm_db_index_physical_stats(或是老版本的DBCC SHOWCONTIG)看到堆上有碎片,绝对不要通过建立聚[详细]
-
SQL Server误区30日谈 第30天 有关备份的30个误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:85
误区 #30:有关备份的30个误区 全是错的 在开始有关备份的误区之前,如果你对备份的基础没有了解,请看之前我在TechNet Magazine的文章: Understanding SQL Server Backups 。 30-01)备份操作会导致阻塞 不,备份不会导致对用户对象加锁,虽然备份对IO系统的[详细]
-
MS SQL Server获取十二个月份的英文缩写
所属栏目:[MsSql教程] 日期:2020-12-12 热度:166
如果使用DATENAME()函数是取得月份的英文全称,但报表需要,只需显示月份名称缩写即可。 十二个月份的英文缩写,只有五月份是全称与缩写一样,其它月份的缩写仅是取前三位字母。因此Insus.NET写成一个自定义函数: div class="codetitle" a style="CURSOR: p[详细]
-
Sql Server 分组统计并合计总数及WITH ROLLUP应用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:134
WITH ROLLUP 在生成包含小计和合计的报表时,ROLLUP 运算符很有用。ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集。 div class="codetitle" a style="CURSOR: pointer" data="39889" class="copybut" id="copybut39889" onclick="doCopy('code[详细]
-
SQLserver中用convert函数转换日期格式的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar,getdate(),120 ) 2004-09-12 11:06:08 select replace(rep[详细]
-
SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:145
最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量。 首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorID),上报人(ReportPerson),上报时间(ReportTime)精确[详细]
-
sqlserver中关于WINDOWS性能计数器的介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:94
Processer : %Processor Time 处理器忙于执行执行任务的时间量 阀值 80%,则CPU有瓶颈或内存不足或出现了低的查询计划重用率,未优化的语句等等。 SQLServer:Buffer Manager Buffer cache hit ratio 缓冲区调整缓冲命中率,阀值>97%正常状况,推荐>99%,如果[详细]
-
SQL 实现某时间段的统计业务
所属栏目:[MsSql教程] 日期:2020-12-12 热度:54
有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson)、上报错误ID(ErrorID)、上报时间(ReportTime)、状态(State),其中值为0(未解决)、1(已处理)、2(已解决)。 现在要做的是统计在某个时间段[beginTime,endTime](其中[详细]
-
SQLSERVER中得到执行计划的两种方式
所属栏目:[MsSql教程] 日期:2020-12-12 热度:114
得到执行计划的方式有两种 : 1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。 这些开关最常用的有 代码如下:SET SHOWPLAN_ALL ON SET SHOWPLAN_ALL ON --(是不是reuse了一个执行计划,[详细]
-
SQLSERVER收集语句运行的统计信息并进行分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:64
对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间、执行时间、做了多少次磁盘读等。如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息。 这些信息对分析问题很有价值。 div class=[详细]
-
SQLSERVER语句的执行时间显示的统计结果是什么意思
所属栏目:[MsSql教程] 日期:2020-12-12 热度:65
在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQLSERVER显示出来的统计结果是什么意思? 下面看一下例子 比较简单的语句 : div class="codetitle" a style="CURSOR: pointer" data="99663" class="copybut" id="copybut99663" onclick="doCopy('c[详细]
-
你真的了解触发器么 数据实时同步更新问题剖析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:74
当我们想更新一张动态表的时候(即:表中的数据不断的添加),也许我们会用数据库代理,通过写作业,然后让他定时查询动态表中最新添加的数据,然后更新数据。这样时能实现更新数据的要求,但是数据却不能实时同步更新。 这个时候,触发器就是我们想要的神器了[详细]
-
存储过程实现订单号,流水单号(8位)的详细思路
所属栏目:[MsSql教程] 日期:2020-12-12 热度:197
此文章是借鉴园中的各位大神的,本人只是略作修改。有不好的地方,欢迎吐槽。 先写实现思路,然后再贴上代码 1.建立存储过程,声明输出参数@indentNum,输出订单号 2.一般订单号由两部分组成,日期和后续的订单号,根据需求看日期后面需要跟多少位数字,此文[详细]
-
SQLSERVER编译与重编译发生场景及重用的利弊介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:187
编译的含义 -------------------------------------------------------------------------------- 当SQLSERVER收到任何一个指令,包括查询(query)、批处理(batch)、存储过程、触发器(trigger) 、预编译指令(prepared statement)和动态SQL语句(dynam[详细]
-
SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:57
首先,我需要强调下,这篇主旨是揭示堆表的删除记录找回的原理,我所考虑的方面并不适用于每个人的每种情况,望大家见谅~ 很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录。其实不然,某种意义上是可以找回的,因为堆[详细]
-
SQLSERVER的非聚集索引结构深度理解
所属栏目:[MsSql教程] 日期:2020-12-12 热度:57
我们知道SQLSERVER的数据行的存储有两种数据结构:A: 堆 B :B树(binary 二叉树) 数据按照这种两种的其中一种来排序和存储,学过数据结构的朋友应该知道二叉树,为什麽用二叉树,因为方便用二分查找法来快速 找到数据。如果是堆,那么数据是不按照任何顺[详细]
-
sql函数实现去除字符串中的相同的字符串
所属栏目:[MsSql教程] 日期:2020-12-12 热度:106
div class="codetitle" a style="CURSOR: pointer" data="48461" class="copybut" id="copybut48461" onclick="doCopy('code48461')" 代码如下:div class="codebody" id="code48461" ---去除字符串中重復的值函數 create function StringRemove(@str nvarcha[详细]
-
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:95
div class="codetitle" a style="CURSOR: pointer" data="92106" class="copybut" id="copybut92106" onclick="doCopy('code92106')" 代码如下:div class="codebody" id="code92106" SELECT ABS(DATEDIFF(dd,EndDate,BeginDate)) FROM dbo.WorkingPlan 其中[详细]