Loading AI tools
數據庫軟件系列 来自维基百科,自由的百科全书
Microsoft SQL Server(微軟結構化查詢語言伺服器)是由美國微軟公司所推出的關聯式資料庫解決方案,最新的版本是SQL Server 2022,已在美國時間2022年11月16日發佈。
![]() | |
開發者 | Microsoft |
---|---|
目前版本 |
|
作業系統 | Microsoft Windows |
類型 | 關聯式資料庫管理系統 |
許可協定 | Microsoft EULA |
網站 | http://www.microsoft.com/zh-cn/server-cloud/products/sql-server/ |
資料庫的內建語言原本是採用美國標準局和國際標準組織所定義的SQL語言,但是微軟公司對它進行了部分擴充而成為作業用SQL。
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即均由微軟自行研發。
在與微軟終止合作關係後,Sybase在Windows NT上的資料庫產品原本稱為Sybase SQL Server,後來改為現在的Sybase Adaptive Server Enterprise。
版本 | 年份 | 發佈名稱 | 代號 | 內部版本號 |
---|---|---|---|---|
1.0 (OS/2) |
1989年 | SQL Server 1.0 | - | |
4.21 (WinNT) |
1993年 | SQL Server 4.21 | - | |
6.0 | 1995年 | SQL Server 6.0 | SQL95 | |
6.5 | 1996年 | SQL Server 6.5 | Hydra | |
7.0 | 1998年 | SQL Server 7.0 | Sphinx | |
- | 1999年 | SQL Server 7.0 OLAP工具 |
Plato | |
8.0 | 2000年 | SQL Server 2000 | Shiloh | 539 |
8.0 | 2003年 | SQL Server 2000 64-bit版本 |
Liberty | 539 |
9.0 | 2005年 | SQL Server 2005 | Yukon | 611/612 |
10.0 | 2008年 | SQL Server 2008 | Katmai | 655 |
10.25 | 2009年 | SQL Azure | CloudDatabase | - |
10.50 | 2010年 | SQL Server 2008 R2 | Kilimanjaro(aka KJ) | 661 |
11.0 | 2012年 | SQL Server 2012 | Denali | 706 |
12.0 | 2014年 | SQL Server 2014 | 782 | |
13.0 | 2016年 | SQL Server 2016 | 852 | |
14.0 | 2017/09/29 | SQL Server 2017 | Helsinki | 869 |
15.0 | 2019/11/4 | SQL Server 2019 | Seattle | 895 |
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]。
1992年,由Sybase與微軟共同發表SQL Server 4.2版,微軟在此版本中的貢獻為:
不過SQL Server 4.2一開始並不是以32位元為基礎,而是以16位元為基礎開發。
在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 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 95的命名是仿自Windows 95,也就是新一代的資料庫伺服器軟體,此版本於1994年10月發布第一個beta版本,並且後續又發布了不同的beta修正版,其中較引人注目的是首次出現在SQL Server中的「複製」(Replication)功能,複製功能所需要的「可捲動式資料游標」(scrollable-cursor),以及其管理工具(代號為「Starfighter」,即SQL Enterprise Manager)。
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 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 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」的束縛:
在微軟決定要把時程展延到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)的版本,諸如:
同時,它也是第一個出現在Windows CE上的SQL Server。
SQL Server 2005(代號為「Yukon」)在千呼萬喚下終於在2005年11月,與Visual Studio 2005一起發表,在SQL Server 2005的研發過程中,其實並不順利。
SQL Server「Yukon」在2003年底左右就發表了Beta 1,雖然已經有資料庫以及部份的新功能,但由於太多的除錯碼(當時SQL Server作為CLR Hosting基底的.NET Framework 2.0也正在研發中),讓執行速度變得很慢。一直到2004年中左右才釋出Beta 2,此版本的穩定度就高些,在Beta 2和Beta 3之間,每一至三個月左右就會釋出一個測試版本,由於並不是達到特定功能或特定時程的測試版,因此都以「CTP」(Community Technology Preview)的方式發行(現在廣泛運用於各微軟的產品測試版本中),Beta 2和Beta 3之間相距幾乎一年,2005年6月才發布Beta 3,此時整個環境才大致底定下來。
SQL Server 2005具代表性的新功能有[3]:
除了伺服器版本的改變外,MSDE也正式由SQL Server Express所接替,作為SQL Server 2005核心的微型資料庫伺服器,並且在隨後的版本,也添加了SQL Server Express Reporting Service以及SQL Server Management Studio Express等小工具,讓SQL Server Express比MSDE更好管理。
SQL Server 2008在2008年8月6日正式發表,並且同時發布SQL Server 2008 Express版本,研發代號為「Katmai」,作為SQL Server 2005的功能強化版本,其主要的新功能[4]與特色有:
SQL Server 2008比起以往版本存在以下優勢: (1)保護資料庫查詢 (2)在伺服器的管理操作上花費更少的時間 (3)增加應用程式穩定性 (4)系統執行效能最佳化與預測功能
SQL Server 2008 R2在2010年4月21日正式發表,並且同時發布SQL Server 2008 R2 Express版
SQL Server 2012在2012年3月6日正式發表。提供標準、企業、智慧型商務三種版本。
SQL Server 2014在2014年4月1日正式發表。
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)。
在Windows Azure的2012年度Spring Release時,進行了品牌重整,將SQL Azure納入Windows Azure產品線下,改名為Windows Azure SQL Database。
已在2016年6月1日發佈。[5]
已在美國時間2017年10月2日發佈。[6]
微軟公司於2016年3月8日釋出封閉預覽測試版的SQL Server on Linux,預定於2017年上市。此為SQL Server推出27年以來,再次支援Windows以外的作業系統。[7]
2017年10月,SQL Server 2017 on Linux作爲SQL Server 2017的多操作系統版本已發佈。[8]
已在2019年11月4日發佈。[9]
已在 2022 年 11 月 16 日發布,RTM 版本為 16.0.1000.6。
SQL Server依功能的不同,分成下列的版本: