- 军军小站|张军博客
拥有SqlServer标签的文章
SqlServer

SQLServer 分组查询相邻两条记录的时间差

首先,我们通过数据库中表的两条记录来引出问题,如下图以上为一个记录操作记录的表数据。OrderID为自增长列,后面依次为操作类型,操作时间,操作人。现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录。即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的。为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作。ViewCode--1.首先查出表中符合條件的所有信息selectIDENTI

系统 2019-08-12 01:33:04 2188

SqlServer

MSSQL:修改tempdb设置增加DW性能

TempDB在DW中变得非常重要,因为要进行大量的运算,如果内存不够数据就会放在TempDB中1.把TempDB移动到高性能的磁盘上。2.增加tempdb的大小3.把AutoShrink设置为FalseMSSQL:修改tempdb设置增加DW性能

系统 2019-08-12 01:33:28 2187

SqlServer

利用SQL Server发邮件

SQLSERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下。一、启动SQLMailxp_startmail@user,@password@user和@password都是可选的也可打开EnterpriseManager中的SupportServices,在SQLMail上单击右键打开右键菜单,然后按Start来启动二、停止SQLMailxp_stopmail也可用上述方法中的菜单里的Stop来停止三、

系统 2019-08-12 01:53:28 2186

SqlServer

SQL Server日期计算

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一

系统 2019-08-12 01:51:27 2185

SqlServer

Sql Server 性能优化之包含列

SqlServer性能优化之包含列导读:数据数优化查询一直是个比较热门的话题,小生在这方面也只能算是个入门生。今天我们就讲下数据库包含列这个一项的作用及带来的优化效果引用下MSDN里面的一段解释:当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显著提高查询性能。这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值;不访问表或聚集索引数据,从而减少磁盘I/O操作上面这一段什么意思呢?意思就是说设置好包含列,能提高查询性能,

系统 2019-08-12 01:33:01 2185

SqlServer

SQLServer 2008 技术内幕——T-SQL 查询 笔记

原文:SQLServer2008技术内幕——T-SQL查询笔记1、SQL编程有许多独特之处,如:面向集合的思维方式、查询元素的逻辑处理顺序、三值逻辑。如果不掌握这些知识就开始用SQL编程,得到的将是冗余的、性能低下的代码,而且难以维护。2、在SQLServer中负责生成实际工作计划(执行计划)的组件是:查询优化器(queryoptimizer)。只有在确保结果集正确的前提下,优化器才会走捷径。明确区分查询的逻辑处理和物理处理是非常重要的。3、逻辑查询的各个

系统 2019-08-12 01:54:50 2183

SqlServer

SQL Server 隐式转换引发的躺枪死锁-程序员需知

原文:SQLServer隐式转换引发的躺枪死锁-程序员需知在SQLServer的应用开发过程(尤其是二次开发)中可能由于开发人员对表的结构不够了解,造成开发过程中使用了不合理的方式造成数据库引擎未按预定执行,以致影响业务.这是非常值得注意的.这次为大家介绍由于隐式数据类型转换而造成的死锁及相应解决方案.现实中有些程序员/数据库开发者会根据数据库的处理机制实现一些应用,如抢座应用,可能会对事务中的查询加一些列的Hint以细化粒度,实现应用的同时使得影响最低,

系统 2019-08-12 01:54:32 2183

SqlServer

SQL server 2005 PIVOT运算符的使用

PIVOT,UNPIVOT运算符是SQLserver2005支持的新功能之一,主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作,以及如何实现动态PIVOT的行列转换。关于UNPIVOT及SQLserver2000下的行列转换请参照本人的其它文章。一、PIVOT的语法SELECT[non-pivotedcolumn],--optional[additionalnon-pivotedcolumns],--optional[firstpivotedc

系统 2019-08-12 01:53:50 2182

SqlServer

SQL Server 索引结构及其使用(一)作者:freed

一、深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQLSERVER提供了两种索引:聚集索引(clusteredindex,也称聚类索引、簇集索引)和非聚集索引(nonclusteredindex,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以

系统 2019-08-12 01:32:56 2181

SqlServer

SQL Server的还原

1.差异备份的还原不备份结尾日志的情况下还原数据创建差异备份的放在我们已经在前面一篇博客SQLServer的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:--创建备份设备EXECsp_addumpdevice'disk','MyAdvWorks_1','d:\backup\MyAdvWorks_1.bak';EXECsp_addumpdevice'disk','MyAdvWorks_diff1','d:\backup

系统 2019-08-12 01:32:30 2180

SqlServer

关于SQL SERVER高并发解决方案

原文:关于SQLSERVER高并发解决方案现在大家都比较关心的问题就是在多用户高并发的情况下,如何开发系统,这对我们程序员来说,确实是值得研究,最近找工作面试时也经常被问到,其实我早有去关心和了解这类问题,但一直没有总结一下,导致面试时无法很完整全面的回答,所以今天我专门总结概况了一下关于SQLSERVER高并发解决方案,希望能帮助大家,若有不对之外,还请及时告之,谢谢!SQLSERVER高并发解决方案主要是从以下几个方面:1.SQL语句优化:A.尽可能的

系统 2019-08-12 01:33:01 2179

SqlServer

SQL Server 2005 Express附加数据库为“只读”

在SQLServer2005Express上附加从另外一台电脑Copy过来的数据库后,数据库为“只读”。解决办法:打开开始→程序→MicrosoftSQLServer2005→配置工具→SQLServer配置管理器,打开SQLServerSQLEXPRESS的属性.在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQLServer2005Express后,再附加数据库一切正常。总结:之所以附加上的数据库为“只读”,是因为启动SQLServer的默认的

系统 2019-08-29 23:40:51 2178

SqlServer

SQL Server2005 数据表导出为Excel

有时候要把SQLServer的数据表导出为Excel表,以利于分发使用,复制黏贴有比较麻烦,可以用一下步骤操作之:1、先建立一个空的.xls文件,命名为gx.xls;2、右键单击目标数据库,选择“任务-导出数据”;3、进入导出数据向导,选择源数据和数据库;4、选择目标数据,这里请选择目标为“MicrosoftExcel”,并在路径里选择刚才建立的gx.xls;5、后面几部默认即可,最终数据导出到Excel中!SQLServer2005数据表导出为Excel

系统 2019-08-12 01:54:46 2178

SqlServer

MS SQL Server各种日期计算实现方法

在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7.假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。当然,你可以通过@@DATEFIRST函数来检查第一天设置。一、为了理解这些例子,我

系统 2019-08-12 01:32:40 2178

SqlServer

转:SQL Server 数据库安全

SQLServer数据库安全--创建登陆用户--createloginlogin_namefromwindowswithdefault_database=database|default_language=language;createlogin[localhost\hoojo-pc]fromwindowswithdefault_database=testHome;--创建登陆用户--createloginlogin_namewithpassword='p

系统 2019-08-12 01:55:01 2177