上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 28 下一页
摘要: 简介 SQL SERVER2012实现了类似C#抛出异常的Throw语句。相比较于SQL Server2005之前使用@@ERROR,和SQL Server2005之后使用RAISERROR()引发异常都是一个不小的进步,下面来看一下Throw的用法。 RAISERROR和THROW比较 在SQL Server2005/2008中,使用RAISERROR和TRY…CATCH语句来抛出异常相比较根据@@ERROR进行判断来讲已经进步了很多。但是使用RAISERROR有一个非常不好的一点是无法返回真正出错的行数。如图1所示。 图1.使用RAISER... 阅读全文
posted @ 2012-03-14 12:01 CareySon 阅读(7279) 评论(8) 推荐(7)
摘要: 简介 SQL Server 2012新增的Contained Database是为了解决数据库在不同SQL Server实例之间迁移的问题。在以往的情况下,数据库本身并不包含一些实例级别的配置参数(比如:数据库的一些metadata和登录名之类的)将数据库从一台服务器迁移到另一台服务器使用备份和恢复(或分离和附加)使得需要额外工作来设置这些数据库实例级别的metadata,而使用Contained Database,可以将这类信息包含在数据库中,从而大大减少这类工作的工作量。 下面我们从配置Contained Database开始。 配置Contained Data... 阅读全文
posted @ 2012-03-13 13:45 CareySon 阅读(5053) 评论(7) 推荐(6)
摘要: 简介 SQL Server2012新增了一些内置函数来让开发人员使用起来更加容易。可以减少代码量,下面我们将SQL Server新增的函数分为几类分别探讨一下。 字符串类函数 SQL Server2012中提供了两个和字符串相关的函数,分别为Concat和Format. Concat如其名称所示,用于连接两个字符串.但比过去的增强是可以免去类型转换的烦恼而直接将多个值连接为一个String值进行返回,如图1所示. 图1.Concat示例 Concat的MSDN链接为:http://msdn.microsoft.com/en-... 阅读全文
posted @ 2012-03-12 17:07 CareySon 阅读(14848) 评论(11) 推荐(23)
摘要: 简介 SequenceNumber是SQL Server2012推出的一个新特性。这个特性允许数据库级别的序列号在多表或多列之间共享。对于某些场景会非常有用,比如,你需要在多个表之间公用一个流水号。以往的做法是额外建立一个表,然后存储流水号。而新插入的流水号需要两个步骤: 1.查询表中流水号的最大值 2.插入新值(最大值+1) 现在,利用SQL Server2012中的Sequence.这类操作将会变得非常容易。 SequenceNumber的基本概念 SequenceNumber的概念并不是一个新概念,Oracle早就已经实现了(ht... 阅读全文
posted @ 2012-03-12 12:27 CareySon 阅读(15385) 评论(14) 推荐(11)
摘要: 简介 SQL Server 2012中在Order By子句之后新增了OFFSET和FETCH子句来限制输出的行数从而达到了分页效果。相比较SQL Server 2005/2008的ROW_Number函数而言,使用OFFSET和FETCH不仅仅是从语法角度更加简单,并且拥有了更优的性能(看到很多人下过这个结论,但我测试有所偏差,暂且保留意见)。 MSDN上对于OFFSET和FETCH的详细描述可以在(http://msdn.microsoft.com/en-us/library/ms188385%28v=SQL.110%29.aspx)找到。 OFFSET和FET... 阅读全文
posted @ 2012-03-09 16:27 CareySon 阅读(23746) 评论(32) 推荐(17)
摘要: 简介 费了半天劲,今天终于装好SQL Server2012了。按照MSDN中的新特性资料(Columnstore Indexes for Fast DW QP SQL Server 11)。尝试了下ColumnStore Index。ColumnStore Index按照其字面意思所示。是基于列存储的索引。这个概念如图1所示。 图1.ColumnStoreIndex和基于行的Index比较 ColumnStoreIndex是按照列存入页当中,而不是按照传统的以行为单位存入页。因此带来的好处可以归结如下: 以往的数据按照行存储,... 阅读全文
posted @ 2012-03-09 13:32 CareySon 阅读(11870) 评论(15) 推荐(17)
摘要: 简介 Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。”,通过这个描述,我们可以看出Merge是关于对于两个表之间的数据进行操作的。 可以想象出,需要使用Merge的场景比如: 数据同步 数据转换 基于源表对目标表做Insert,Update,De... 阅读全文
posted @ 2012-03-07 16:03 CareySon 阅读(65619) 评论(45) 推荐(76)
摘要: 简介 在SQL Server中,数据是按页进行存放的。而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了。因此对于聚集索引的选择对性能的影响就变得十分重要了。本文从旨在从性能的角度来谈聚集索引的选择,但这仅仅是从性能方面考虑。对于有特殊业务要求的表,则需要按实际情况进行选择。 聚集索引所在的列或列的组合最好是唯一的 这个原因需要从数据的存放原理来谈。在SQL Server中,数据的存放方式并不是以行(Row)为单位,而是以页为单位。因此,在查找数据时,SQL Server查找的最小单位实际上是页。也就是说即使你只查找一行很小... 阅读全文
posted @ 2012-03-06 11:30 CareySon 阅读(21896) 评论(56) 推荐(40)
摘要: 你在公司的饮水机旁,一边和等待接水一边和同事聊着周末的计划。 “我整个周末都需要加班”她抱怨道。我需要在周末结束之前给大BOSS设计一个仪表。这让你想起了你已经创建过的报表,你感觉你应该能帮上她。 “我们应该使用报表服务”,你接完水时说道。然后你打开通向报表服务的阶梯系列来看看你能学到什么。本篇文章通过一个示例仪表来展示折线图,数据条和指示器。幸运的话,你和你的同事周末就都不用加班了。 在开始之前,希望你先阅读本系列文章之前的文章。 如何开始 报表开发人员开发两种类型的报表:分析型报表和工作报表。工作报表是在日常工作中经常用到的,它们包... 阅读全文
posted @ 2012-03-02 16:50 CareySon 阅读(9997) 评论(2) 推荐(7)
摘要: 伴随着你的经理湿润的呼吸呼到你的脖子上,你很不自然的转过椅子,告诉他你现在所完成的成果。 “非常好”经理说道,你不禁开始想象他站在你身后摸着胡子的样子。“现在还需要一个饼图,每个报表都有饼图!”,经理说完这句话后,你发觉身后温暖的感觉消失了,取而代之的是脑中想象出经理披着邪恶的黑斗篷的样子。你重重的叹了一口气:“饼图”。 虽然你知道并不像经理所说的那样,每一个报表都有饼图。但起码你要了解一些饼图和地图的概念来告诉经理其实并不是这么回事。本篇文章阐述报表中不同类型的可视化以及它们的应用场景。 在开始之前,请确保你已经阅读过本系列文章之前的文章。 ... 阅读全文
posted @ 2012-02-29 15:38 CareySon 阅读(8412) 评论(4) 推荐(4)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 28 下一页