微软服务器
2012年美国微软公司所推出的关系数据库解决方案
微软服务器是由美国微软公司所推出的关系数据库解决方案,最新的版本是SQLServer2012,已经在2012年3月6日发布。
MicrosoftSQLServer数据库的内置语言是由美国标准局(ANSI)和国际标准组织(ISO)所定义的SQL语言,微软公司对它进行了部分扩充而成为作业用SQL(Transact-SQL)。
MicrosoftSQLServer几个初始版本适用于中小企业的数据库管理,但是近年来它的应用范围有所扩展,已经触及到大型、跨国企业的数据库管理。
SQLServer一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过SQLServer4.2版本的研发,微软亦将SQLServer4.2移植到WindowsNT(当时为3.1版),在与Sybase终止合作关系后,自力开发出SQLServer6.0版,往后的SQLServer即均由微软自行研发。
在与微软终止合作关系后,Sybase在WindowsNT上的数据库产品原本称为SybaseSQLServer,后来改为现在的SybaseAdaptiveServer。
[编辑]版本演进
版本 年份 发布名称 代号
1.0
(OS/2) 1989年 SQLServer1.0 -
4.21
(WinNT) 1993年 SQLServer4.21 -
6.0 1995年 SQLServer6.0 SQL95
6.5 1996年 SQLServer6.5 Hydra
7.0 1998年 SQLServer7.0 Sphinx
- 1999年 SQLServer7.0
OLAP工具 Plato
8.0 2000年 SQLServer2000Shiloh
8.0 2003年 SQLServer2000
64-bit版本 Liberty
9.0 2005年 SQLServer2005 Yukon
10.0 2008年 SQLServer2008 Katmai
10.5 2010年 SQLServer2008R2 Kilimanjaro(akaKJ)
11.0 2012年 SQLServer2012 Denali
[编辑]SQLServer1.0&1.1
SQLServer的发源最早要回到1986年,当时微软已和IBM合作开发OS/2(当时为了要继承MS-DOS)操作系统,但由于缺乏数据库的管理工具,而IBM也打算将其数据库工具放到OS/2中销售之下,微软和Sybase合作,将Sybase所开发的数据库产品纳入微软所研发的OS/2中,并在获得Ashton-Tate的支持下,第一个挂微软名称的数据库服务器Ashton-Tate/MicrosoftSQLServer1.0于1989年上市。
不过在1989-1990年间,由于Ashton-Tate的dBASEIV计划不顺,让微软原本打算由dBaseIV来开发SQLServer应用程序的计划变得无法实现,因此微软终止与Ashton-Tate的合约,真正挂微软单一品牌的MicrosoftSQLServer1.1于1990年中出货。同一年,微软为SQLServer创建技术支持团队,并于1991年初起陆续取得Sybase的授权,有权利可以查看与修改SQLServer的原始代码,但由于主控权仍在Sybase,因此微软的任何修正都需要由Sybase查看并且同意后才可以运行,这个里程碑对日后微软开始发展自己的数据库服务器时,在数据库引擎的发展上,提供了相当重要的基础。
然而在OS/2的销售状况不佳下,SQLServer1.0/1.1/1.11(后续发布的1.1升级版)的销售状况都不佳。
[编辑]SQLServer4.2
1992年,由Sybase与微软共同发表SQLServer4.2版,微软在此版本中的贡献为:
与Sybase合作,将Sybase的SQLServer核心代码移植到OS/2中。
提供MS-DOS,Windows以及OS/2的客户端库(ClientLibrary)。
开发部份管理工具。
不过SQLServer4.2一开始并不是以32位为基础,而是以16位为基础开发。
[编辑]SQLServerforWindowsNT
在1992年时,由于市场上对32位操作系统的需求逐渐升高,但IBM的OS/22.0却又没有如期在时程内完成,SQLServer的开发小组利用OS/2的32位接口移植SQLServer到OS/22.0(当时为beta)测试时,发现32位并没有如预期来的有效率,另外一方面,微软内部当时也正在开发新一代操作系统(即WindowsNT),使得SQLServer团队决定要终止对SQLServerforOS/2的发展,同时挹注全力开发出支持WindowsNT的版本,代号为“SQLNT”。
在SQLNT中,微软将SQLServer4.2的核心代码,以Win32API翻写,并于1993年WindowsNT3.1出货后30天,完成SQLServerforWindowsNT(4.2)的开发工作,在市场上销售。
SQLServer4.2是第一个WindowsNT上的SQLServer,也是第一个出现在微软认证考试中的SQLServer产品。
[编辑]SQLServer6.0
在微软利用SQLServer4.2forWindowsNT赚取高额营收(自SQLServer4.2forWindowsNT发布起九个月内,微软SQLServer带来的营收已成长两倍)时,对于其合作伙伴Sybase而言,微软的SQLServer已不被Sybase所重视(Sybase自己要关注在自家的产品线),并且因为SQLServer的权利在Sybase手中(1987年与Sybase签订的合约),微软无法在SQLServer中自行添加与修改功能。
微软自SQLServer1.0到4.2forWindowsNT,数个版本的历程中,其SQLServer团队已经大幅成长,但受限于与Sybase的合约,微软即使有新研发的WindowsNT功能,也无法加入SQLServer中,因此于1994年4月12日,微软和Sybase正式终止了合作关系(并向Sybase买下了Windows版本的SQLServer代码版权),微软获得了对SQLServer代码的完全控制权,不过挑战也接踵而来——Sybase即将于年底发表System10forWindowsNT,微软必须要提出新的版本计划,以防止Sybase将原本的微软客户抢走,“SQL95”计划这样产生了。
SQL95的命名是仿自Windows95,也就是新一代的数据库服务器软件,此版本于1994年10月发布第一个beta版本,并且后续又发布了不同的beta修正版,其中较引人注目的是首次出现在SQLServer中的“复制”(Replication)功能,复制功能所需要的“可滚动式数据游标”(scrollable-cursor),以及其管理工具(代号为“Starfighter”,即SQLEnterpriseManager)。
SQLServer6.0(SQL95)于1995年6月14日完成并进入RTM(releasedtomanufacturing),对于SQLServer团队以及微软来说,SQLServer6.0是重要的里程碑,因为此版本是完全由微软自行开发,未假手Sybase或其他厂商,因此SQLServer6.0的发布,让微软的数据库研发能力正式被外界认可。
SQLServer6.5发布于1996年,约于SQLServer6.0发表后十个月后发布。
[编辑]SQLServer7.0
当微软正在发展SQLServer6.5时,已经另外有一个团队正在发展新的数据库,由于微软计划要能够让此种数据库引擎能够具有可向上发展,亦可以缩小到PC或笔记本电脑中,因此数据库的核心必须要重新撰写,这就会涉及数据结构的改变,为了要让数据库的升级能够确保其稳定性,微软在1997年特别邀请1000个组织备份数据库,交由开发小组进行升级,并且在升级过程中找出可能的失败原因。同时在1998年2月起,微软与ISV合作发展运行于SQLServer7.0的软件,除了保持兼容性外,也让ISV能够特别为SQLServer7.0的特性撰写程序。
在同一时间,OLEDB的技术,以及很多人熟知的MSDE(MicrosoftDataEngine)也在研发中,后来OLEDB成为Windows平台上数据访问的显学,其上的ADO更获得多数开发人员的采用。而MSDE也做为MicrosoftAccess数据库外的另一种单机数据库的选择。
SQLServer7.0最终冻结版本为7.00.623.07,于1998年12月进入RTM。
[编辑]SQLServer2000
原本SQLServer2000只是SQLServer7.0的一个小改款,代号为“Shiloh”,版本号码为7.5;真正要做大翻修的SQLServer版本,代号则是“Yukon”。Shiloh在开发过程中,因为要加入的功能并不多,只是要完成在7.0版中没有写完的功能,并且预期可能升级的客户不多,因此当时在微软内部,只是把Shiloh视为是一个“SuperServicePack”而已,有如SQLServer6.0和6.5的角色。
不过因为几个因素,让SQLServer7.5摆脱“SuperServicePack”的束缚:
SQLServer7.0ServicePack2已经发表,无需再开发一个ServicePack。
来自客户对于性能以及在数据仓库中对星状拓朴支持的分区查看与优化的要求。
来自于竞争者Oracle的压力。
在微软决定要把时程展延到18个月(完整的软件周期)时,也开始为SQLServer7.5加入新的功能,版本代码升级到8.0(最终版本为8.0.194),同时因应当时Windows2000的计划,MicrosoftBackOffice也命名为BackOffice2000,故SQLServer8.0也改名为SQLServer2000。
SQLServer2000于2000年8月6日完成,并于2000年8月9日进入RTM状态。
SQLServer2000可说是微软数据库服务器中“生命期最久”(自2000年8月9日RTM开始到2005年11月SQLServer2005上市为止,长达五年又三个月),而且后续添加的新功能相当多,ServicePack也最多(最后的ServicePack为SP4)的版本,诸如:
SQLServer2000NotificationServices
SQLServer2000ReportingServices
SQLServer2000WebAdministration
SQLServer2000XML(SQLXML)
同时,它也是第一个出现在WindowsCE上的SQLServer。
[编辑]SQLServer2005
SQLServer2005(代号为“Yukon”)在千呼万唤下终于在2005年11月,与VisualStudio2005一起发表,在SQLServer2005的研发过程中,其实并不顺利。
SQLServer“Yukon”在2003年底左右就发表了Beta1,虽然已经有数据库以及部份的新功能,但由于太多的除错码(当时SQLServer作为CLRHosting基底的.NETFramework2.0也正在研发中),让运行速度变得很慢。一直到2004年中左右才发布Beta2,此版本的稳定度就高些,在Beta2和Beta3之间,每一至三个月左右就会发布一个测试版本,由于并不是达到特定功能或特定时程的测试版,因此都以“CTP”(CommunityTechnologyPreview)的方式发布(现在广泛运用于各微软的产品测试版本中),Beta2和Beta3之间相距几乎一年,2005年6月才发布Beta3,此时整个环境才大致底定下来。
SQLServer2005具代表性的新功能有:
SQLServer管理工具的改变,SQLServerManagementStudio(SSMS)取代SQLServerEnterpriseManager。
将商业智能的开发功能由SQLServerEnterpriseManager切出,加入VisualStudio中,即BusinessIntelligenceDevelopmentStudio(BIDS)。
新增多种Transact-SQL指令,例如PIVOT/UNPIVOT,CommonTableExpression(CTE)等等。
强化XML的处理能力,并新增本地的XML数据类型,以及支持原生XML数据类型的XML查询运算符。
新增varchar(max),nvarchar(max),varbinary(max)型数据类型,用来取代text、ntext与image类型。
将.NETFramework功能植入数据库引擎中(SQLCLR),让VB.NET和C#可以开发SQLServerStoredProcedure,Function,User-DefinedType等。
原本的DTS改名为SQLServerIntegrationServices,强化其ETL(Extract,TransformandLoad)功能。
DataMining新增到八种算法。
数据库引擎的安全性功能大幅强化,引入主体(Principal),结构(Schema)以及数据层次的加解密。
对于数据结构变更的触发程序支持(DDLTrigger)。
除了服务器版本的改变外,MSDE也正式由SQLServerExpress所接替,作为SQLServer2005核心的微型数据库服务器,并且在随后的版本,也添加了SQLServerExpressReportingService以及SQLServerManagementStudioExpress等小工具,让SQLServerExpress比MSDE更好管理。
[编辑]SQLServer2008
SQLServer2008在2008年8月6日正式发表,并且同时发布SQLServer2008Express版本,研发代号为“Katmai”,作为SQLServer2005的功能强化版本,其主要的新功能与特色有:
以原则为主(Policy-Based)的管理基础架构。
与WindowsServer2008、WindowsVista的DataCollector技术集成的PerformanceDataCollection。
可以经由管理者设置以调整运行资源的资源调节器(ResourceGoverner)。
可预测的查询性能。
数据压缩能力。
DDL(数据定义语言)审核能力。
透通式数据加密(TransparentDataEncryption)
记录档数据流压缩(LogStreamCompression)
ADO.NETObjectServices的直接支持,这代表SQLServer2008可支持LINQ和ADO.NETEntityFramework。
本地的DATE和TIME分区的数据类型,并且支持时间位移的DATETIMEOFFSET和更精确的DATETIME2数据类型。
FILESTREAM数据类型:将大型二进制数据存到NTFS文件系统中(即不直接存在数据库中)。
稀疏字段(sparseColumn)的支持,可节省因为NULL值所占据的存储空间。
空间数据类型集,包含geometry(平面或Euclidean(平面地球)数据)以及geography(椭圆体(圆形地球)数据),分别可存储平面和立面型的数据,有助于GIS型系统的开发。
变更数据收集与捕捉(ChangeDataCapture)。
宽数据表(Widetable),可以容纳最高30,000个字段,但必须要配合Sparse字段使用。
hierarchyid数据类型,可以允许存储层次结构化的数据。
MERGE陈述式,可根据与来源数据表联结的结果,在目标数据表上运行插入、更新或删除作业,其功能与ADO.NET中的DataSet.Merge方法类似。
ReportServer应用程序嵌入能力。
ReportingService可支持窗体验证。
预测分析能力(ssas)。
数据表型参数与变量,可以在变量或参数中使用table的类型。
SQLServer2008比起以往版本存在以下优势:(1)保护数据库查询(2)在服务器的管理操作上花费更少的时间(3)增加应用程序稳定性(4)系统执行性能优化与预测功能
[编辑]SQLServer2008R2
SQLServer2008R2在2010年4月21日正式发表,并且同时发布SQLServer2008R2Express版
[编辑]SQLServer2012
SQLServer2012在2012年3月6日正式发表。提供标准、企业、智能商务三种版本。
[编辑]SQLAzure
主条目:SQLAzure
SQLAzure是微软WindowsAzurePlatform上的云关系数据库服务(DatabaseasaService),早期被称为SQLServerDataServices或SQLServices,应用程序可以直接利用TDSoverSSL来访问SQLAzure中的数据库,同时SQLAzure基于WindowsAzure平台之上,亦具有与WindowsAzure相同的高可用性(HighAvailability),高延展性(HighExtensibility)以及高扩充性(HighScalability)。
[编辑]架构
[编辑]服务
[编辑]数据库管理工具
SQLServerManagementStudio
SQLServer默认的数据库管理工具,随着SQLServer安装时勾选客户端的选项而安装。
navicatforSQLServer
是一套专为MicrosoftSQLServer设计的强大数据库管理及开发工具。它可以用于任何版本的SQLServer数据库,并支持大部份SQLServer的功能,包括触发器、索引、查看等。断点。
[编辑]对编程的支持
[编辑]版本
SQLServer依功能的不同,分成下列的版本:
SQLServerEnterpriseEdition:具有企业级功能的SQLServer版本,适用于大型企业以及大型数据库或数据仓库的服务器版本。
SQLServerStandardEdition:具有标准功能的SQLServer版本,适用于一般企业的服务器版本。
SQLServerWorkgroupEdition:自SQLServer2000开始才有的版本,专为工作组或部门所设计,适用于较小规模的组织。
SQLServerWebEdition:自SQLServer2008开始才有的版本,专为Web服务器与WebHosting所设计,功能上较WorkgroupEdition少一些。
SQLServerExpressEdition:免费的SQLServer版本,适用于小型应用程序或是单机型应用程序,但在功能上有设限,如只能使用一颗处理器,以及最大数据库大小为4GB等。请见SQLServerExpress。
SQLServer2008Express下载地址
SQLServer2008Express
SQLServer2008ExpressandAdvancedServices
SQLServer2008ExpresswithTools
MSDE下载地址
MicrosoftSQLServer2000DesktopEngine(MSDE2000)ReleaseA
SQLServer2005Express下载地址
MicrosoftSQLServer2005ExpressEditionwithAdvancedServicesServicePack2
MicrosoftSQLServer2005ExpressEditionToolkitServicePack2
MicrosoftSQLServerManagementStudioExpressServicePack2
MicrosoftSQLServer2005ExpressEditionServicePack2
SQLServerCompactEdition:免费的SQLServer版本,专用于移动设备以及WindowsCE操作系统。
另外SQLServer还有一个特殊的版本:SQLServerDeveloperEdition,它具有与SQLServerEnterpriseEdition相同的功能,但只授权在开发应用程序与测试之用,也正因为如此,SQLServerDeveloperEdition的价格只有EnterpriseEdition约千分之一而已。
[编辑]SQLServer2005强化与革新
SQLServer2005在数据库核心做了相当大的改变,将.NET集成到数据库引擎中,因此开发人员除了可用原有的T-SQL语法进行开发之外,也可使用.NET语言。另外,在接口集成、高可用性、安全性与商业智能等方面,均做了相当大的强化与更新。
[编辑]与.NET集成
主条目:SQLCLR
使用C#或VB.NET写SQLCLR的预存程序或预存函数,通过.NETFrameWork使SQLServer能使用到原本没有自带的功能。
[编辑]接口集成
[编辑]高可用性
[编辑]系统安全性
[编辑]商业智能
集成服务(SQLServerIntegrationServices,SSIS)
创建数据集成方案,包括数据仓库的截取、转换和加载封装。
报表服务(SQLServerReportingServices,SSRs)
创建从各种数据源取得内容的报表、以各种格式发布报表,以及集中管理安全性和订阅。
分析服务(SQLServerAnalysisServices,SSAS)
用于OLAP或数据采矿的计算。
[编辑]其他
支持原生XML
同时支持32位与64位系统
注意sql2005enterprise版本不支持vista系统,但express版本与developer版本可以。
参考资料
最新修订时间:2023-12-16 10:36
目录
概述
参考资料