-
mssql关于一个表格结构的另外一种显示(表达意思不变)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:173
一、需求 由于表达能力不好,直接上图。在mssql环境中需要把图1的表转化成图2的表: 二、分析 2.1创建表 代码如下:create table #tb (ID int primary key, Class nvarchar(max), [Subject] nvarchar(max), Score int) insert into #tb values(1,'一(1)班','[详细]
-
sqlserver获取各种形式的时间
所属栏目:[MsSql教程] 日期:2020-12-12 热度:94
div class="codetitle" a style="CURSOR: pointer" data="50437" class="copybut" id="copybut50437" onclick="doCopy('code50437')" 代码如下:div class="codebody" id="code50437" Select CONVERT(varchar(100),GETDATE(),0): 05 16 2006 10:57AM Select C[详细]
-
浅谈SQL Server中的三种物理连接操作(性能比较)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:194
在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基础,下[详细]
-
SQL Server误区30日谈 第1天 正在运行的事务在服务器故障转移后
所属栏目:[MsSql教程] 日期:2020-12-12 热度:183
误区 #1:在服务器故障转移后,正在运行的事务继续执行 这当然是错误的! 每次故障转移都伴随着某种形式的恢复。但是如果当正在执行的事务没有Commit时,由于服务器或实例崩溃导致连接断开,SQL Server可没有办法在故障转移后的服务器重新建立事务的上下文并[详细]
-
SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞
所属栏目:[MsSql教程] 日期:2020-12-12 热度:84
误区 #2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁 这是错误的! 在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方[详细]
-
SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Serve
所属栏目:[MsSql教程] 日期:2020-12-12 热度:56
本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自,经过我们团队的翻译和整理发布在和博客园上。希望对大家有所帮助。 误区 #3: 即时文件初始化特性可以在SQL Server中 a)开启 和 b)关闭 a)是不允许的 b)是允许[详细]
-
SQL Server误区30日谈 第4天 DDL触发器就是INSTEAD OF触发器
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
误区 #4: DDL触发器(SQL Server 2005之后被引入)就是INSTEAD OF触发器 这是错误的 DDL触发器的实现原理其实就是一个AFTER触发器。这个意思是先发生DDL操作,然后触发器再捕捉操作(当然如果你在触发器内写了Rollback,则也可能回滚)。 存在Rollback也意味着[详细]
-
浅谈SQL Server 对于内存的管理[图文]
所属栏目:[MsSql教程] 日期:2020-12-12 热度:188
理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。 二级存储( secondary storage ) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量越小(如图1所示)。比如:传[详细]
-
SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
所属栏目:[MsSql教程] 日期:2020-12-12 热度:60
误区 #5: AWE在64位SQL SERVER中必须开启 错误! 在坊间流传的有关 AWE的设置的各种版本让人非常困惑。比如说如何设置起作用,如何设置不起作用,在32位和64位上是否需要AWE等。 好吧,我来概括一下: 在64位系统(SQL SERVER 2005+版本) AWE是不需要的(即使是[详细]
-
SQL Server误区30日谈 第6天 有关NULL位图的三个误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:188
这样还能减少CPU缓存命中失效的问题(点击这个链接来查看CPU的缓存是如何工作的以及MESI协议)。下面让我们来揭穿三个有关NULL位图的普遍误区。 误区 #6a:NULL位图并不是任何时候都会用到 正确 就算表中不存在允许NULL的列,NULL位图对于数据行来说会一直存在([详细]
-
SQL Server误区30日谈 第7天 一个实例多个镜像和日志传送延迟
所属栏目:[MsSql教程] 日期:2020-12-12 热度:63
误区 #7:一个数据库可以存在多个镜像 错误 这个误区就有点老生常谈了。每一个主体服务器只允许一个镜像服务器。如果你希望存在多个主体服务器的副本,那么请使用事务日志传送,事务日志传送允许针对每一个主体存在多个辅助实例。 使用事务日志传送的一个优点[详细]
-
SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
误区 #8: 在线索引操作不会使得相关的索引加锁 错误! 在线索引操作并不是想象的那么美好。 在线索引操作会在操作开始时和操作结束时对资源上短暂的锁。这有可能导致严重的阻塞问题。 在线索引操作开始时,会在被整理的资源上加一个共享的表锁,这个表锁在会在[详细]
-
SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:184
误区 #9: 数据库文件收缩不会影响性能 错误! 收缩数据库文件唯一不影响性能的情况是文件末尾有剩余空间的情况下,收缩文件指定了TruncateOnly选项。 收缩文件的过程非常影响性能,这个过程需要移动大量数据从而造成大量IO,这个过程会被记录到日志从而造成日[详细]
-
SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:91
误区10.数据库镜像在故障发生后,马上就能发现 错误 市面上大肆宣传数据库镜像技术可以在故障发生后,立即检测到错误并进行故障转移。 但事实并不是这样,检测到故障发生的速度要取决于故障的类型。 检测故障发生的最快的情况是,镜像中的主体实例崩溃,从而[详细]
-
SQL Server误区30日谈 第11天 镜像在检测到故障后瞬间就能故障转
所属栏目:[MsSql教程] 日期:2020-12-12 热度:129
误区 #11:镜像在检测到故障后瞬间就能故障转移 错误 数据库镜像的故障转移既可以自动发起,也可以手动发起。 在自动发起的情况下,是由镜像服务器执行故障转移操作(你没有看错,并不是由见证服务器来做故障转移的决定),在见证服务器和镜像服务器都发现无法[详细]
-
SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保
所属栏目:[MsSql教程] 日期:2020-12-12 热度:115
误区 #12:TempDB的文件数和需要和CPU数目保持一致 错误 哎,由于上述误区是微软“官方”的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。 但让人困惑的是SQL CAT团队给出的建议就是1:1,但这个建议是源自扩展方面的原理来说,而不是一个通用[详细]
-
SQL Server误区30日谈 第13天 在SQL Server 2000兼容模式下不能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:64
误区 #13.在SQL Server 2000兼容模式下不能使用DMV 错误 对于兼容模式已经存在了很多误解。80的兼容模式的数据库是否意味着能够附加或恢复到SQL Server 2000数据库?当然不是。这只是意味着一些T-SQL的语法,查询计划的行为以及一些其它方面和SQL Server 2000[详细]
-
SQL Server误区30日谈 第14天 清除日志后会将相关的LSN填零初始
所属栏目:[MsSql教程] 日期:2020-12-12 热度:196
误区 #14.清除日志后会将相关的LSN填零初始化 错误 当日志文件在手动增长,自动增长和创建时都会进行填零初始化操作。但是请不要把这个过程和定期清除日志的过程搞混。日志截断仅仅意味着将一个或多个VLF标记为不活动以便被重复使用。在日志清除的过程中,并[详细]
-
SQL Server误区30日谈 第15天 CheckPoint只会将已提交的事务写入
所属栏目:[MsSql教程] 日期:2020-12-12 热度:199
误区 #15:CheckPoint只会将已提交的事务写入磁盘 错误 这个误区是由于太多人对日志和恢复系统缺少全面的了解而存在已久。CheckPoint会将自上次CheckPoint以来所有在内存中改变的页写回磁盘(译者注:也就是脏页),或是在上一个CheckPoint读入内存的脏页写入磁[详细]
-
SQL Server误区30日谈 第16天 数据的损坏和修复
所属栏目:[MsSql教程] 日期:2020-12-12 热度:156
误区 #16:多个关于数据的损坏和修复误区 坊间流传的很多版本都不正确 我已经听过很多关于数据修复可以做什么、不可以做什么、什么会导致数据损坏以及损坏是否可以自行消失。其实我已经针对这类问题写过多篇博文,因此本篇博文可以作为“流言终结者”来做一个[详细]
-
SQL Server误区30日谈 第17天 有关页校验和的误区
所属栏目:[MsSql教程] 日期:2020-12-12 热度:117
其实我之前已经有文章详细解释了页校验和:A href="http://www.sqlskills.com/BLOGS/PAUL/post/How-to-tell-if-the-IO-subsystem-is-causing-corruptions.aspx"gt;How to tell if the IO subsystem is causing corruptions? 误区 #17:几个有关页校验和的误区[详细]
-
SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以
所属栏目:[MsSql教程] 日期:2020-12-12 热度:51
误区 #18:如下多个有关FileStream的误区 全部错误 18 a)FileStream数据可以在远程存储 不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是说,这个数据容器必须放在[详细]
-
SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志
所属栏目:[MsSql教程] 日期:2020-12-12 热度:135
误区 #19:Truncate表的操作不会被记录到日志 错误 在用户表中的操作都会被记录到日志。在SQL Server中唯一不会被记录到日志的操作是TempDB中的行版本控制。 Truncate Table语句会将整个表中的所有数据删除。但删除的方式并不是一行一行的删除,而是将组成表[详细]
-
SQL Server误区30日谈 第20天 破坏日志备份链之后,需要一个完整
所属栏目:[MsSql教程] 日期:2020-12-12 热度:180
误区 #20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链 错误 事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开[详细]
-
SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来
所属栏目:[MsSql教程] 日期:2020-12-12 热度:71
误区 #21:数据库损坏可以通过重启SQL Server或是Windows,或是附加和分离数据库解决 错误 SQL Server中没有任何一项操作可以修复数据损坏。损坏的页当然需要通过某种机制进行修复或是恢复-但绝不是通过重启动SQL Server,Windows亦或是分离附加数据库。 而实际[详细]