至此,微软和Sybase的合作开始失去了它的价值。Sybase希望保持平台中立性,而微软希望完全投入于Windows NT平台。另外,受限于协议,微软必须得到Sybase批准后才能为SQL Server添加新特性。他们的合作在1994年瓦解,Sybase第一次被允许在OS/2和Windows平台上发行自己的产品,微软则可以将产品带向自己想要的方向。在短短18个月内,微软在原先NT平台SQL Server代码的基础上,发布了SQL Server 6.0和6.5。这些版本重写了现存的代码并添加了新的代码。也正是在这个时候,微软成功的拥有了SQL Server的权利和代码,并使之显著区别于原先OS/2平台上4.2版本的Sybase代码。
在这个转变过程中,微软决定在数据管理前沿做大。这意味着他们还有很多工作要做,包括建立一个更强大的团队。微软聘请了一些数据库行业中最优秀和最富经验的专家(来自DEC的Hal Berenson, Peter Spiro, David Campbell等人, IBM的 James Hamilton, Lubor Kollar等人, 甲骨文的Bill Baker, Pedro Celis, 和Tandem的Pat Hellan),并为他们配备的最好的研究人员(Jim Gray, Phil Bernstein等人)以及来自全球最聪明的数据库专业硕士和博士。他们和原来团队中的灵魂人物(如Ron Soukup)以及一些微软内部的人员在短时间内组建了一个伟大而专注团队。团队中的一些人致力于SQL Server 6.0/6.5,而大部分人则进行代号为Sphinx即SQL Server 7.0的研发。
Sphinx的目标很明确,建立一套新的标准以简化完整的数据管理。这意味着在未来的几年中要建立一个可扩展的平台,并从先前各SQL Server版本和其它数据库平台中吸取教训。为此必须重写数据库引擎、新的查询处理器、新的存储引擎和一套新的数据访问API(OLE DB and ADO, 最终置入了dblib)。
尽管SQL Server以关系型数据库管理系统闻名,微软希望在SQL Server 7.0中提供一个完整的数据解决方案。其通过OLAP服务添加对联机分析处理的支持(这部分的代码来自于对以色列“Plato”公司的收购),通过DTS集成了数据提取、转换和加载(这部分的代码由内部的Starfighter/Tools团队开发)。
SQL Server 7.0 RTM版于1998年11月发布(那周我正好在Redmond接受访问,还记得主园区的1号楼和3号楼非常热闹)并在1999年1月发布了正式版。虽然我有些偏见,但我相信微软所做的工作远比我以上所列出的要多。所以还能说Microsoft SQL Server是Sybase的产品吗?主要的组件不是新添加的就是重写过的,因此Microsoft SQL Server 和 Sybase SQL Server没有任何关系。
显然SQL Server的征程并没有止于7.0版。紧随其后的是2000年8月的发布SQL Server 2000。其主要的工作包括了多实例和集群的实现(所有的代码都是微软自产的),数据挖掘(来自于早期微软研究院的进行的研究项目),SQLXML(来自于MDAC和网络与接口团队的辅助项目)。
在SQL Server 2005前,SQL Server 2000提供的最具影响力的新特性是报表服务。SQL Server 2000中的报表服务的代码完全是微软自产的。开发报表服务的团队由原先Repository/Meta Data Services 团队、一些英语查询团队的成员和一群新人组成。
SQL Server 2005中主要的新特性和代码值得用几篇博客来分别介绍,但我想特别强调SQLCLR(来自于对一个长期战略项目的集成),XML支持(我们调查研究了存储XML的最佳方法,在使用专用的XML数据库或将XML集成进SQL Server中选择了后者。这需要大量的二次规划和语言上的改变以支持XQuery),Service Broker(在Dave Campbell和在以色列MSMQ团队调查了messaging/queuing/SOA后,我们决定集成这个辅助项目),Integration Services(来自一些零碎的代码,由原先DTS团队和一些来自C++, hardware, AS and COM+团队的人组建了一个新的团队,加上一次小规模的收购来建立设计和执行的环境),Report Builder(基于一次收购的概念和架构,但代码是全新的)。
Dave Campbell曾讲述过他10年SQL Server生涯中的一天,现在仍有一些成员在团队中的时间比他还长,但SQL Server团队(MDAC, System.Data, System.XML 和 WinFS)所有1000人中,几乎没人见过一行不是微软员工写的代码。