SqlServer

在SQL Server 2005中实现表的行列转换

PIVOT和UNPIVOT关系运算符是SQLServer2005提供的新增功能,因此,对升级到SQLServer2005的数据库使用PIVOT和UNPIVOT时,数据库的兼容级别必须设置为90(可以使用sp_dbcmptlevel存储过程设置兼容级别)。在查询的FROM子句中使用PIVOT和UNPIVOT,可以对一个输入表值表达式执行某种操作,以获得另一种形式的表。PIVOT运算符将输入表的行旋转为列,并能同时对行执行聚合运算。而UNPIVOT运算符则执行

系统 2019-08-29 23:00:21 2543

SqlServer

17、SQL Server 汇总数据之计算总计数据

SQLServer汇总数据之计算总计数据虽然ReportinService能够轻松地计算总计和小计,而无须查询做额外的工作。但实践表明,向应用程序提供总计,让其在窗体或网页底端显示它可能很有用。接下来的三个聚合命令将可以提供很好的解决方案。一、Rollup与Cube两者基本语法一致:groupby....withrollup|cube聚合函数Rollup和Cube在一个独立的行中计算出小计和总计,并在分组依据列中包含空值,以指出对应的值为总计。Rollup

系统 2019-08-12 01:53:33 2543

SqlServer

SessionState中的SqlServer模式(.net 1.1)

最近遇到一个问题严重的问题:.net1.1的网站使用sqlserver存储session,出错,提示找不到dbo.TempGetID的存储过程。经过一番学习,发现原来这个还是个bug。在.net早期版本中,sqlserver存储只能放在一个aspstate的数据库里,并且访问数据库的架构只能是dbo。如果不符合上述条件,都会导致运行出错。微软对此问题相关修正:http://support.microsoft.com/kb/836680/zh-cn,FIX:

系统 2019-08-12 01:53:18 2543

SqlServer

SQL Server 2008 R2 死锁监控

死锁监控一直都很麻烦,我没有找到很好的方法如果大家有好的方法,我也很想学习一下我的方法比较简单:1.sp_altermessage1205修改1205错误让他能够写入日志这样代理中的警告才能使用2.当然是启动代理中的警告。开数据库邮件,会把死锁错误发送到操作员邮箱里面。缺点就是没有详细的死锁信息。3.使用sqlserver2008r2自带的扩展事件中system_health默认是开启的,里面会抓取比较多的值你可以使用sys.dm_xe_session_e

系统 2019-08-12 01:33:19 2543

SqlServer

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

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

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

SqlServer

简单几步实现用Web客户端来管理SqlServer2008数

作为一个.NET开发者每次安装VisualStudio的时候我总是选择安装附带的SqlExpress数据库,这货比较小巧简单用来做开发最合适了,不过默认安装的SqlExpress没有管理客户端(即我们所说的ManagementStudio)也没有开启SA用户登录,这不是很方便,所以以前在安装完SqlExpress后我都是接着再安装一个SqlServerManagementStudioExpress作为管理器并先用集成认证方式登录进数据库再启用混合验证,以便

系统 2019-08-29 22:05:43 2541

SqlServer

SQL Server 创建性能基线

CreatingaPerformanceBaseline-Part1You'lloftenhearthatyoushouldmonitortheperformanceofSQLServer.Youmayreadalittleaboutperformancemonitoring,andyoumayturnonafewcountersorperformaqueryagainstadynamicmanagementviewthatyouknowabout.But

系统 2019-08-12 01:32:12 2541

SqlServer

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

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

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

SqlServer

SQL Server 2008中的代码安全(三):通过PassP

SQLServer2008中SQL应用系列--目录索引导读:本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函数进行通行短语(PassPhrase)加密。前言:在SQLServer2005和SQLServer2008之前。如果希望加密敏感数据,如财务信息、工资或身份证号,必须借助外部应用程序或算法。SQLServer2005引入内建数据加密的能力,使用证书、密钥和系统函数的组合来完成。与数字证书类似。SQLServ

系统 2019-08-29 23:18:34 2540

SqlServer

《Microsoft SQL Server 2005: 数据库基础由入

9月份收到了Microsoft寄来的《MicrosoftSQLServer2005:数据库基础由入门到精通》,翻着看了一遍然后又精读了其中的一些章节之后,我决定开始为它写书评。我们都知道,学习使用SQL语言并不难,无非就是SELECT、INSERT、UPDATE、DELETE这四大指令,外加一些各种功能的子句,人人都能轻松学会编写一些简单的SQL语句。然而这与真正懂得使用一套SQLServer这样的数据库管理系统有多远?大概也就是一亿五千万个字节的距离。何

系统 2019-08-12 01:55:35 2540

SqlServer

SQLSERVER 日期函数

SQLServer时间日期函数详解,SQLServer,时间日期,1.当前系统日期、时间selectgetdate()2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值例如:向日期加上2天selectdateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.0003.datediff返回跨两个指定日期的日期和时间边界数。selectdatediff(day,'2004-09-01','

系统 2019-08-12 01:54:39 2540

SqlServer

SQL Server 备份和还原全攻略

原文:SQLServer备份和还原全攻略一、知识点完全备份:备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性)。完全备份也叫完整备份。差异备份:差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。(差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,即:备份后不标记为已备份文件,换言之,不清除存档属性)。增量备份:增量备份是针

系统 2019-08-12 01:51:29 2540

SqlServer

查看 SQL Server 2000 中数据表所占用的磁盘空间

同样的命题在SQLServer2005中,微软发布了一个报表,可以直接查看,但是这个报表不能用于SQLServer2000。于是我就写了下面这几句话,可以返回同样的结果。createtabletmp(namevarchar(50),rowsint,reservedvarchar(50),datavarchar(50),index_sizevarchar(50),unusedvarchar(50))insertintotmp(name,rows,reserv

系统 2019-08-12 01:32:34 2540

SqlServer

SQL SERVER多列取最大或者最小值

/*lvl1lvl2lvl3lvl4lvl43413221223444343122怎么写代码去比较lvl1、lvl2、lvl3、lvl4对应每行的值,取其中最小的,将其值添加到lvl列里运行结果应该是lvl11231*/--方法(一)函數法-->Title:Generatingtestdata-->Author:wufeng4552-->Date:2009-10-1609:58:16ifnotobject_id('Tempdb..#t')isnulldro

系统 2019-08-12 01:54:37 2538

SqlServer

sql server 数据增删改查

一、数据插入1、语法INSERTINTO表名[<属性列>]VALUES(参数列表)注解:①没有说明属性列,即要给出所有的列的值②不确定的列,可以设置为null。(在允许为空的情况下)2、实例①在“人事管理系统”中,新增一个员工信息(员工编号‘100508’、员工姓名‘小龙女’、所在部门编号‘10001’、籍贯‘河南’)insertinto员工信息(员工编号,员工姓名,所在部门编号,籍贯)values('100508','小龙女','10001','河南')

系统 2019-08-12 01:53:44 2538