随笔分类 - Sql Server
SQL2005中的事务与锁定(三)- 转载
摘要:-- Author : HappyFlyStone -- Date : 2009-10-03 15:30:00 -- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86) -- Apr 14 2006 01:12:25 -- Co
阅读全文
SQL2005中的事务与锁定(二)- 转载
摘要:-- Author : HappyFlyStone -- Date : 2009-09-27 21:36:30 -- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86) -- Apr 14 2006 01:12:25 -- Co
阅读全文
SQL2005中的事务与锁定(一) - 转载
摘要:-- Author : HappyFlyStone -- Date : 2009-09-24 21:36:30 -- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86) -- Apr 14 2006 01:12:25 -- Co
阅读全文
SqlServer 中如何查看某一个Sql语句是复用了执行计划,还是重新生成了执行计划
摘要:我们知道SqlServer的查询优化器会将所执行的Sql语句的执行计划作缓存,如果后续查询可以复用缓存中的执行计划,那么SqlServer就会为后续查询复用执行计划而不是重新生成一个新的执行计划,因为复用执行计划的性能比生成执行计划的性能要高很多,所以SqlServer的这一特性可以大大提高Sql语
阅读全文
SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)
摘要:本人经过百度查找并且自己进行测试得到问题原因: MSDN上看了一下说是sql server 不支持在分布式事务处理中存在指向本地的链接服务器(环回链接服务器) 通过上面简单说明大家有可能没完全理解环回链接服务器的意思。下面直接来几段代码相信大家就明白了 1.打开本机SQL Server Manage
阅读全文
ADO.NET中的TransactionScope何时需要启用MSTDC(分布式事务管理)
摘要:我们知道在ADO.NET中可以用TransactionScope来将多个SqlConnection(多个数据库连接)执行的Sql语句放入一个事物中提交或取消,但是使用TransactionScope的时候也要额外小心,因为TransactionScope在特殊情况下需要启动MSDTC(分布式事务管理
阅读全文
SqlServer nvarchar中的中文字符匹配,更改SqlServer实例和数据库排序规则的办法
摘要:我们都知道在SqlServer中的nvarchar类型可以完美的存储诸如中文这种unicode字符,但是我们会发现有时候查询语句去查询nvarchar列的时候查不出来。 为什么nvarchar类型有时候需要前面带N的字符串才能查出结果 比如假如现在有一张表T_UserInfo如下,其中列[Name]
阅读全文
sp_executesql的执行计划会被重用(转载)
摘要:前一段时间,给一位朋友公司做咨询,看到他们的很多的存储过程都存在动态sql语句执行,sp_executesql,即使在没有动态表名,动态字段名的情况下仍然使用sp_executesql,这个做法是不太明智的,会存在一些性能方面的问题。先说说什么场景使用这个系统存储过程吧,sp_executesql,
阅读全文
SqlServer中Index Seek的匹配规则(一)
摘要:我们知道在SqlServer中,索引对查询语句的优化起着巨大的作用,一般来说在执行计划中出现了Index Seek的步骤,我们就认为索引命中了。但是Index Seek中有两个部分是值得我们注意的,我们来查看下面一个查询语句: 该语句从表[DimCustomer]查询列[Title],[FirstN
阅读全文
SqlServer 的提示符(Option/With等提示符)不是什么时候都可以用的
摘要:我们在做SqlServer的查询调优的时候,经常会在语句末尾用到option(loop/merge/hash join)或在join语句前直接声明loop/merge/hash,来强制SqlServer使用某一特定类型的join方式。但是有些时候经过查询优化器优化后的执行计划可能会和你声明的join
阅读全文
SqlServer中使用Select语句给变量赋值的时候需要注意的一个问题
摘要:我们知道在SqlServer中可以用Select语句给变量赋值,比如如下语句就为int类型的变量@id赋值 执行上面的代码会显示下面的查询结果,结果显示最后@id的值为3,那么意味着上面第3行的select语句每返回一行数据记录,sqlserver就用id列为@id进行了一次赋值,而最后一行数据记录
阅读全文
SqlServer 在创建数据库时候指定的初始数据库大小是不能被收缩的
摘要:当你在SqlServer创建数据库的时候可以指定数据库文件的初始大小,比如下图中我们将新创建的数据库MyDB的大小设置成了1024MB 那么你建好的数据库的确也就会占用1024MB左右的磁盘空间 不过使用存储过程sp_spaceused可以看到其中有1021.85 MB的空间是MyDB占用着并未使用
阅读全文
SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)
摘要:SQL Server数据库有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式: 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate log“,其实这个名字更形象,在Simple模式下,SQL Server会在每次checkpoin
阅读全文
Sql Server 检测死锁的SQL语句
摘要:首先创建一个标量值函数DigLock,用来递归检测SqlServer中的每一个会话是否存在加锁循环,如果该函数最终返回1则表示检测到了加锁循环 (也就是说检测到了死锁),如果最终返回0则表示没有检测到加锁循环。 然后定义一个视图V_DeadLock_Process,调用上面创建的函数,如果查询出了结
阅读全文
Sql Server 2012 的新分页方法分析(offset and fetch) - 转载
摘要:最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较
阅读全文
Sqlserver 平面文件导入/ SSIS FlatFileSource导入文件时 出现LocaleID is not installed报错问题
摘要:最近在使用SqlServer和SSIS导入一个CSV文件到数据库时(SSIS选用的FlatFileSource作为数据流源),老是遇到 The LocaleID 4 is not installed on this system. 这个错误。 后来搞了老半天发现是FlatFileSource的Loc
阅读全文
dbo与db_owner区别
摘要:dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。 例如,如果用户 Andrew 是固定服务器角色 sysad
阅读全文
Sqlserver Sql Agent Job 只能同时有一个实例运行
摘要:Sqlserver Sql Agent中的Job默认情况下只能有一个实例在运行,也就是说假如你的Sql Agent里面有一个正在运行的Job叫"Test Job",如果你现在再去启动一次"Test Job"就会报错,因为Sqlserver规定在一个Sqlserver账号下,Sql Agent不能同时
阅读全文
SQL SERVER: 合并相关操作(Union,Except,Intersect) - 转载
摘要:SQL Server 中对于结果集有几个处理,值得讲解一下 1. 并集(union,Union all) 这个很简单,是把两个结果集水平合并起来。例如 SELECT * FROM A UNION SELECT * FROM B 【注意】union会删除重复值,也就是说A或B中重复的数据行,最终只会出
阅读全文
SQL Server安装完成后3个需要立即修改的配置选项(转载)
摘要:你用安装向导安装了全新的SQL Server,最后你点击了完成按钮。哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的。是的,你没看错:SQL Server的默认安装在很多方面的配置是错误的。在今天的文章里,我想给你展示下,为了更快的...
阅读全文