SQL Server一開始並不是微軟自己研發的產品,而是當時為了要和IBM競爭時,與Sybase合作所產生的,其最早的發展者是Sybase[2],同時微軟也和Sybase合作過SQL Server 4.2版本的研發,微軟亦將SQL Server 4.2移植到Windows NT(當時為3.1版),在與Sybase終止合作關係後,自力開發出SQL Server 6.0版,往後的SQL Server即均由微軟自行研發。
SQL Server的發源最早要回到1986年,當時微軟已和IBM合作開發OS/2(當時為了要繼承MS-DOS)作業系統,但由於缺乏資料庫的管理工具,而IBM也打算將其資料庫工具放到OS/2中銷售之下,微軟和Sybase合作,將Sybase所開發的資料庫產品納入微軟所研發的OS/2中,並在獲得Ashton-Tate的支持下,第一個掛微軟名稱的資料庫伺服器Ashton-Tate/Microsoft SQL Server 1.0於1989年上市。
不過在1989-1990年間,由於Ashton-Tate的dBase IV計畫不順,讓微軟原本打算由dBase IV來開發SQL Server應用程式的計畫變得無法實現,因此微軟終止與Ashton-Tate的合約,真正掛微軟單一品牌的Microsoft SQL Server 1.1於1990年中出貨。同一年,微軟為SQL Server建立技術支援團隊,並於1991年初起陸續取得Sybase的授權,有權利可以檢視與修改SQL Server的原始程式碼。雖然主控權仍在Sybase,微軟的任何修正都需要由Sybase檢視並且同意後才可以執行,但這個里程碑對日後微軟開始發展自己的資料庫伺服器時,在資料庫引擎的發展上,提供了相當重要的基礎。
然而在OS/2的銷售狀況不佳下,SQL Server 1.0/1.1/1.11(後續發布的1.1升級版)的銷售狀況都不佳[2]。
SQL Server 4.2
1992年,由Sybase與微軟共同發表SQL Server 4.2版,微軟在此版本中的貢獻為:
與Sybase合作,將Sybase的SQL Server核心程式碼移植到OS/2中。
提供MS-DOS,Windows以及OS/2的用戶端函式庫(Client Library)。
開發部份管理工具。
不過SQL Server 4.2一開始並不是以32位元為基礎,而是以16位元為基礎開發。
SQL Server for Windows NT
在1992年時,由於市場上對32位元作業系統的需求逐漸升高,但IBM的OS/2 2.0卻又沒有如期在時程內完成,SQL Server的開發小組利用OS/2的32位元介面移植SQL Server到OS/2 2.0(當時為beta)測試時,發現32位元並沒有如預期來的有效率,另外一方面,微軟內部當時也正在開發新一代作業系統(即Windows NT),使得SQL Server團隊決定要終止對SQL Server for OS/2的發展,同時挹注全力開發出支援Windows NT的版本,代號為“SQL NT”。
在SQL NT中,微軟將SQL Server 4.2的核心程式碼,以Win32 API翻寫,並於1993年Windows NT 3.1出貨後30天,完成SQL Server for Windows NT(4.2)的開發工作,在市場上銷售[2]。
SQL Server 4.2是第一個Windows NT上的SQL Server,也是第一個出現在微軟認證考試中的SQL Server產品。
SQL Server 6.0
在微軟利用SQL Server 4.2 for Windows NT賺取高額營收(自SQL Server 4.2 for Windows NT發行起九個月內,微軟SQL Server帶來的營收已成長兩倍)時,對於其合作夥伴Sybase而言,微軟的SQL Server已不被Sybase所重視(Sybase自己要關注在自家的產品線),並且因為SQL Server的權利在Sybase手中(1987年與Sybase簽訂的合約),微軟無法在SQL Server中自行添加與修改功能。
微軟自SQL Server 1.0到4.2 for Windows NT,數個版本的歷程中,其SQL Server團隊已經大幅成長,但受限於與Sybase的合約,微軟即使有新研發的Windows NT功能,也無法加入SQL Server中,因此於1994年4月12日,微軟和Sybase正式終止了合作關係(並向Sybase買下了Windows版本的SQL Server程式碼版權),微軟獲得了對SQL Server程式碼的完全控制權,不過挑戰也接踵而来——Sybase即將於年底發表System 10 for Windows NT,微軟必須要提出新的版本計畫,以防止Sybase將原本的微軟客戶搶走,“SQL 95”計畫這樣產生了。
SQL Server 6.0(SQL 95)於1995年6月14日完成並進入RTM(released to manufacturing),對於SQL Server團隊以及微軟來說,SQL Server 6.0是重要的里程碑,因為此版本是完全由微軟自行開發,未假手Sybase或其他廠商,因此SQL Server 6.0的發行,讓微軟的資料庫研發能力正式被外界認可[2]。
SQL Server 6.5发布於1996年,約於SQL Server 6.0發表後十個月後發行[2]。
SQL Server 7.0
當微軟正在發展SQL Server 6.5時,已經另外有一個團隊正在發展新的資料庫,由於微軟計畫要能夠讓此種資料庫引擎能夠具有可向上發展,亦可以縮小到PC或筆記型電腦中,因此資料庫的核心必須要重新撰寫,這就會涉及資料結構的改變,為了要讓資料庫的升級能夠確保其穩定性,微軟在1997年特別邀請1000個組織備份資料庫,交由開發小組進行升級,並且在升級過程中找出可能的失敗原因。同時在1998年2月起,微軟與ISV合作發展運行於SQL Server 7.0的軟體,除了保持相容性外,也讓ISV能夠特別為SQL Server 7.0的特性撰寫程式。
在同一時間,OLE DB的技術,以及很多人熟知的MSDE(Microsoft Data Engine)也在研發中,後來OLE DB成為Windows平台上資料存取的顯學,其上的ADO更獲得多數開發人員的採用。而MSDE也做為Microsoft Access資料庫外的另一種單機資料庫的選擇。
SQL Server 7.0最終凍結版本為7.00.623.07,於1998年12月進入RTM[2]。
SQL Server 2000
原本SQL Server 2000只是SQL Server 7.0的一個小改款,代號為“Shiloh”,版本號碼為7.5;真正要做大翻修的SQL Server版本,代號則是“Yukon”。Shiloh在開發過程中,因為要加入的功能並不多,只是要完成在7.0版中沒有寫完的功能,並且預期可能升級的客戶不多,因此當時在微軟內部,只是把Shiloh視為是一個“Super Service Pack”而已,有如SQL Server 6.0和6.5的角色。
不過因為幾個因素,讓SQL Server 7.5擺脫“Super Service Pack”的束縛:
SQL Server 7.0 Service Pack 2已經發表,無需再開發一個Service Pack。
來自客戶對於效能以及在資料倉儲中對星狀拓樸支援的分割檢視與最佳化的要求。
來自於競爭者Oracle的壓力。
在微軟決定要把時程展延到18個月(完整的軟體週期)時,也開始為SQL Server 7.5加入新的功能,版本代碼升級到8.0(最終版本為8.0.194),同時因應當時Windows 2000的計畫,Microsoft BackOffice也命名為BackOffice 2000,故SQL Server 8.0也改名為SQL Server 2000。
SQL Server 2000於2000年8月6日完成,並於2000年8月9日進入RTM狀態[2]。
SQL Server 2000可說是微軟資料庫伺服器中“生命期最久”(自2000年8月9日RTM開始到2005年11月SQL Server 2005上市為止,長達五年又三個月),而且後續添加的新功能相當多,Service Pack也最多(最後的Service Pack為SP4)的版本,諸如:
除了伺服器版本的改變外,MSDE也正式由SQL Server Express所接替,作為SQL Server 2005核心的微型資料庫伺服器,並且在隨後的版本,也添加了SQL Server Express Reporting Service以及SQL Server Management Studio Express等小工具,讓SQL Server Express比MSDE更好管理。
SQL Server 2008
SQL Server 2008在2008年8月6日正式發表,並且同時發布SQL Server 2008 Express版本,研發代號為“Katmai”,作為SQL Server 2005的功能強化版本,其主要的新功能[4]與特色有:
以原則為主(Policy-Based)的管理基礎架構。
與Windows Server 2008、Windows Vista的Data Collector技術整合的Performance Data Collection。
可以經由管理者設定以調整執行資源的資源調節器(Resource Governer)。
可預測的查詢效能。
資料壓縮能力。
DDL(資料定義語言)稽核能力。
透通式資料加密(Transparent Data Encryption)
記錄檔資料流壓縮(Log Stream Compression)
ADO.NET Object Services的直接支援,這代表SQL Server 2008可支援LINQ和ADO.NET Entity Framework。
SQL Azure是微軟Windows Azure Platform上的雲端關聯式資料庫服務(Database as a Service),早期被稱為SQL Server Data Services或SQL Services,應用程式可以直接利用TDS over SSL來存取SQL Azure中的資料庫,同時SQL Azure基於Windows Azure平台之上,亦具有與Windows Azure相同的高可用性(High Availability),高延展性 (High Extensibility)以及高擴充性(High Scalability)。