原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com

SQL Server是我使用时间最长的数据库,算起来已经有10年了。上世纪90年代,微软在软件开发的所有领域高歌猛进,形成了操作系统、办公软件、企业开发、游戏制作、浏览器各领域的全线垄断。那曾经是微软发展的黄金时期,至到今天,它仍然在享受着当年的红利。

在SQL Server 2000那个年代,由其功能强大,使用方便,“国人免费”等特点迅速流行起来,成为企业开发的不二选择。早期的用友、管家婆的ERP也使用此作为数据库。那个时候WEB开发还不像现在这样流行,主要就是做一些网站,而企业桌面管理软件则是大家争抢的市场。SQL Server和Visual Studio开发的软件跑在Windows平台下,则成为标配,大量程序员夜以继日的研究其中的奇巧淫技,乐此不彼。SQL Server和Sybase之间还有些渊源,有兴趣的同学自查。

在摩尔定律的推动下,硬件飞速发展,软件复杂度增加,SQL Server 2000的潜能已经被榨干,市场迫切需要性能更高,功能更完善的数据库。数据库是微软的现金牛,当然是当然不让。经过5年的开发,推出了经典的SQL Server 2005。5年时间才发布一次版本,和VS2008, 2010,2012,2013比起来,弱爆了啊。SQL Server 2005完全颠覆了“数据库就是保存数据的地方”概念,带有一系列的辅助组件,身材翻了几倍,在我的老DELL笔记本安装了一个多小时……

SQL Server 2005新增了一系列的函数,推出了CLR存储过程,提升XML为数据类型,Service Broker消息组件,BI报表服务等。报表服务(Report Service)目的是想取代水晶报表,挖掘数据,后来的发展事实证明这玩艺儿就是玩具,很快被开发者摒弃。Service Broker消息组件被一些公司作为数据同步机制使用,也就是读写分离。XML增强后可以直接在SQL中XPATH运算,通过相关函数,还可以和Table做Join,为一些特定场景提供了灵活性,但物极必反,过度使用会造成效率问题。

SQL Server 2005中第一次引入了表变量,可以很多场合替代临时表,像变量一样自动回收的特性立即吸引了我。引入了Oracle中数据窗口的概念,可以方便完成以前需要复杂SQL的工作。影响最常见和深远的应该是对分页的影响,ROW_NUMBER分页几乎现在已经标准化,新生代程序员可能很少去关注了。而在此之前,牛逼的DBA都喜欢做分页存储过程来显示自己的能力,而开发者也喜欢比较各自使用的分页存储过程效率,各种测试甚至口水仗,那是一个多么纯真的年代啊。

SQL Server 2005借用Visual Studio的经验,提供了相当华丽的的SQL Server Management Studio。集成了SQL Server 2000时代的企业管理器和查询分析器,重新设计整体布局,用户体验瞬间提高了不少。遗憾的是,仍然没有提供智能提示的支持,还得继续使用第三方工具辅助。

SQL Server 2005给开发者的惊喜是空前绝后的,现在恐怕再也看不到如此革命性的突破了。其打下的根基和建立的概念在后续版本中得到了增强和完善。当前业界在不断弱化关系型数据库,NOSQL、BigData流行了起来,SQL的激情岁月一去不复返了,留给我们却是一代程序员的回忆。

回首经典的SQL Server 2005的更多相关文章

  1. SQL Server 2005 盛宴系列 经典教程

    SQL Server 2005 盛宴系列 经典教程  [复制链接]   发表于 2007-3-27 14:08 | 来自 51CTO网页 [只看他] 楼主     TECHNET  SQL serve ...

  2. (原创)关于SQL Server 2005 的自动远程数据库备份

    由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需求的朋友有所帮助.目标服务器:192.168.1.197,备份服务器:1 ...

  3. 关于SQL Server 2005 的自动远程数据库备份

    原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的一些帮助,结合自己的实际需要,写了这篇文章,希望对有同样需 ...

  4. 监控 SQL Server (2005/2008) 的运行状况

    Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...

  5. windows10下sql server 2005 无法运行或sql server服务无法启动的完美解决方案

    问题:升级windows10后,sql server 2005 无法运行或sql server服务&sql server agent无法启动,如下图,怎么办? 一般情况下,我们第一反应就是sq ...

  6. SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称

    SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称   原来数据库名称为 aa,物理文件名称为 aa.mdf 和 aa_log.ldf:   需要修改数据库名称为 bb,物理文件名 ...

  7. Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

    Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...

  8. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  9. SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id"

    案例环境: 数据库版本: Microsoft SQL Server 2005 (Microsoft SQL Server 2005 - 9.00.5000.00 (X64) ) 案例介绍: 对一个数据 ...

随机推荐

  1. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  2. Socket聊天程序——初始设计

    写在前面: 可能是临近期末了,各种课程设计接踵而来,最近在csdn上看到2个一样问答(问题A,问题B),那就是编写一个基于socket的聊天程序,正好最近刚用socket做了一些事,出于兴趣,自己抽了 ...

  3. 一篇文章看懂TPCx-BB(大数据基准测试工具)源码

    TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括硬件和软件的性能.其中一些场景还用到了机器学习算法(聚类.线性回归等).为了 ...

  4. 马里奥AI实现方式探索 ——神经网络+增强学习

    [TOC] 马里奥AI实现方式探索 --神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典 ...

  5. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  6. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  7. QT内省机制、自定义Model、数据库

    本文将介绍自定义Model过程中数据库数据源的获取方法,我使用过以下三种方式获取数据库数据源: 创建 存储对应数据库所有字段的 结构体,将结构体置于容器中返回,然后根据索引值(QModelIndex) ...

  8. 页面布局class常见命名规范

    头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left rig ...

  9. [Android]使用Dagger 2来构建UserScope(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6237731.html 使用Dagger 2来构建UserSco ...

  10. SSD框架训练自己的数据集

    SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...