MicrosoftSQLServer
Microsoft SQL Server( 軟軟結構化查詢語言侍服器 ) 是由美國微軟公司所推出的關聯式資料庫解決方案,上新的版本是 SQL Server 二千空二十二,已經佇美國時間二空二二年十一月十六發佈。
資料庫的內建語言原本是採取用美國標準局佮國際標準組織所定義的 SQL 語言,但是微軟公司著伊進行了部份擴充啊若成做作業用 SQL。
幾若个初期間版本真適用中小企業的資料庫管理,但是近來伊的應用範圍有所擴充,已經觸著大型、跨國企業的資料庫管理。
歷史淵源
SQL Server 一開始並毋是小可仔軟家己研發的產品,是彼當陣為著欲佮 IBM 競爭時,佮 Sybase 合作所產生的,其實上早的發展者是 Sybase,仝彼當陣微軟嘛佮 Sybase 合作過 SQL Server 四配二版本的研發,微軟亦將 SQL Server 四配二移植到 Windows NT(彼當陣為三允一版), 咧佮 Sybase 終止合作關係了後,自力開發出 SQL Server 六鼻空版,向後壁的 SQL Server 即時由微軟家己研發。
佇咧參微軟終止合作關係了後,Sybase 佇咧 Windows NT 上的資料庫產品原本號做 Sybase SQL Server,後來改為這馬的 Sybase Adaptive Server Enterprise。
版本演進
SQL Server 一垺零 & 一孵一
SQL Server 的發源上早愛轉來到一九八六年,彼當陣小可仔軟已經佮 IBM 合作開發 OS / 二(彼个時陣為著欲繼承 MS-DOS)作業系統,毋過因為欠缺資料庫的管理工具,而且 IBM 嘛按算共其的資料庫工具囥起來 OS / 二中銷售之下,小可仔軟軟 Sybase 合作,將 Sybase 所開發的資料庫產品納入軟微所研發的 OS / 二中,並且得著 Ashton-Tate 的支援之下,第一个掛微軟名稱的資料庫侍服器 Ashton-Tate / Microsoft SQL Server 一孵空佇一九八九年上市。
猶毋過佇一千九百八十九-一九九空年間,因為 Ashton-Tate 的 dBase IV 計畫袂順,予微軟原本按算由 dBase IV 來開發 SQL Server 應用程式的計畫變甲無法度實現,所以淡薄仔軟終止佮 Ashton-Tate 的合約,真正掛小軟單一品牌的 Microsoft SQL Server 一孵一於一九九空年內底出貨。仝一年,軟軟仔為 SQL Server 建立技術支援團隊,而且一九九一年初起陸續取得 Sybase 的授權,有權利通檢視佮修改 SQL Server 的原始程式碼。雖然主控權猶閣佇咧 Sybase,微軟的任何修正攏愛由 Sybase 檢視並且同意了後才會當執行,毋過這个紀念對日後細細開始發展家己的資料庫侍服器的時陣,佇資料庫 ia̋n-jín 的發展上,提供真重要的基礎。
毋過佇 OS / 兩的銷售狀況無好,SQL Server 一 . 一分之零 . 一分之一啦 . 十一(後續發布的一又閣有升級版)的銷售狀況攏無好。
SQL Server 四配二
一九九二年,由 Sybase 參微軟共同發表 SQL Server 四堵二版,軟汫佇咧此版本內底的貢獻為:
一 . 佮 Sybase 合作,將 Sybase 的 SQL Server 核心程式碼移植到 OS / 二中。 二 . 提供 MS-DOS,Windows 以及 OS / 二用者捀函式庫(Client Library)。 三 . 開發部份的管理工具。
猶毋過 SQL Server 四配二一開始並毋是以三十二位元做基礎,是以十六位元為基礎開發。
SQL Server for Windows NT
佇咧一九九二年的時陣,因為市場上對三十二位元作業系統的需求沓沓仔升懸,猶毋過 IBM 的 OS / 二二嬸零煞閣無如期佇時程內完成,SQL Server 的開發小組利用 OS / 二的三十二位元介面移植 SQL Server 到 OS / 二二孵空(彼當陣為 beta)試看覓影咧,發現三十二位元並無如預期來的有效率,另外一方面,微軟內部彼當時也當咧開發新一代作業系統(即 Windows NT), 予得 SQL Server 團隊決定欲終止對 SQL Server for OS / 二的發展,同時挹注全力開發出支援 Windows NT 的版本,代號做「SQL NT」。
佇咧 SQL NT 中,微軟將 SQL Server 四配二的核心程式碼,以 Win 三十二 API 寫車,並且一九九三年 Windows NT 三更一出貨了三十工,完成 SQL Server for Windows NT(四配二)的開發工課,佇咧市場上銷售。
SQL Server 四配二是頭一个 Windows NT 上的 SQL Server,嘛是頭一个出現佇微軟認證考試內底的 SQL Server 產品。
SQL Server 六板零
在微軟利用 SQL Server 四配二 for Windows NT 趁取高額營收(自 SQL Server 四配二 for Windows NT 發行起九個月內,微軟 SQL Server 紮來的營收已經成長兩倍)時,對其合作伴來講 Sybase 來講,微軟乎 SQL Server 已經無去予 Sybase 所重視(Sybase 家己愛關注佇家己的產品線), 並且因為 SQL Server 的權利佇咧 Sybase 手中(一九八七年佮 Sybase 簽訂的合約), 微軟無法度佇咧 SQL Server 中家己添加佮修改功能。
微軟自 SQL Server 一孵空到四配二二 for Windows NT,數一个版本的歷程內底,其實 SQL Server 團隊已經大幅成長,但是因為有限制 Sybase 的合約,微軟就算是有新研發的 Windows NT 功能,嘛無法度加入 SQL Server 中,所以一九九四年四月十二號,小可仔軟軟 Sybase 正式終止矣合作關係(並向 Sybase 買起來矣 Windows 版本的 SQL Server 程式碼著作權), 微軟得著 SQL Server 程式碼的完全控制權,毋過挑戰嘛相接跤來—— Sybase 得欲佇年底發表 System 十 for Windows NT,軟軟必須愛提出新的版本計畫,以防止 Sybase 共原本的微軟客戶搶走,「 SQL 九十五」計畫按呢產生矣。
SQL 九十五的號名是仿自 Windows 九十五,也就是新一代的資料庫侍服器軟體,這个版本佇一九九四年十月發佈第一个 beta 版本,而且後續閣發布了無仝的 beta 修正版,其中較引人注目的是頭改出現佇咧 SQL Server 中的「複製」(Replication)功能,複製功能伊需要的「會當捲動式的資料游標」(scrollable-cursor), 佮其管理工具(代號做「Starfighter」,即 SQL Enterprise Manager)。
SQL Server 六板零(SQL 九十五)佇一九九五年六月十四完成並進入 RTM(released to manufacturing), 對於 SQL Server 團隊和微軟仔來講,SQL Server 六鼻空是重要的路站碑,因為這个版本是完全由微軟仔自行開發,未假手 Sybase 抑是按怎廠商,所以 SQL Server 六土零的發行,予微軟的資料庫研發能力正式予外界認可。
SQL Server 六爿五發布佇一九九六年,約於 SQL Server 六腑零發表了後十個月後發行。
SQL Server 七鼗零
當微軟當咧發展 SQL Server 六桱五時,已經另外有一个團隊當咧發展新的資料庫,因為小可仔軟計畫欲會當予這種資料庫 ia̋n-jín 會當有可能向頂懸發展,亦會當縮小到 PC 筆記型電腦當中,所以資料庫的核心必須愛重新編寫,這就會牽連資料結構的改變,為著欲予資料庫的升級會當確保其穩定性,微軟佇一九九七年特別邀請一千个組織備份資料庫,交予開發小組進行升級,並且佇升級過程中揣出可能的失敗原因。同齊佇一九九八年二月起,軟軟佮 ISV 合作發展運行佇咧 SQL Server 七鼗空的軟體,除了保持相容性以外,原仔予 ISV 會當特別為 SQL Server 七夕零的特性編寫程式。
佇仝一个時陣,OLE DB 的技術,猶閣有真濟人熟似知的 MSDE(Microsoft Data Engine)嘛佇咧研發中間,後來 OLE DB 成做 Windows 平台上資料的存取的顯學,其上的 ADO 閣較濟濟開發人員的採用。而且 MSDE 也做為 Microsoft Access 資料庫外的另外一種單機資料庫的選擇。
SQL Server 七堵空最終凍結版本為七堵空空 . 六百二十三鋪空七,佇一九九八年十二月進入 RTM。
SQL Server 兩千
彼原本 SQL Server 二千隻是 SQL Server 七鼗空的一个小改款,代號做「Shiloh」,版本號碼是七堵五;真正欲做大翻修的 SQL Server 版本,代號是「Yukon」。 Shiloh 佇開發過程中,因為欲加入的功能並無濟,干焦欲完成佇七更零版內底寫無完的功能,並且預期可能有升級的客戶無濟,所以當初時佇微軟內部,只是共 Shiloh 當做是一个「Super Service Pack」爾爾,有如 SQL Server 六鼻空佮六鼻五的角色。
毋過因為幾个因素,予 SQL Server 七刣五擺脫「Super Service Pack」的束縛:
一 . SQL Server 七鼗零 Service Pack 二已經發表,無需要閣開發一个 Service Pack。 二 . 來自客戶對效能佮佇資料的倉儲中對星狀拓樸支援的分割檢視佮最佳化的要求。 三 . 來自競爭者 Oracle 的壓力。
佇微軟決定欲共時程展延到十八個月(完整的軟體週期)時,嘛開始為 SQL Server 七堵五加入新的功能,版本代碼升級到八堵零(最終版本為八堵零 . 一百九十四), 同時因應彼个時陣 Windows 兩千的計畫,Microsoft BackOffice 也號名做 BackOffice 兩千,故 SQL Server 八○零嘛改名做 SQL Server 兩千。
SQL Server 二千於二空空年八月六號完成,並且二空空空年八月九號進入 RTM 狀態。
SQL Server 二千通講是微軟資料庫侍服器內底「性命期上久」(自二空空空年八月九號 RTM 開始到二空空五年十一月 SQL Server 二千空五上市為止,長到五冬又閣三個月), 而且後續添加的新功能是誠濟,Service Pack 嘛上蓋濟(最後的 Service Pack 為 SP 四)的版本,諸如:
一 . SQL Server 兩千 Notification Services 二 . SQL Server 兩千 Reporting Services 三 . SQL Server 兩千 Web Administration 四 . SQL Server 兩千 XML(SQLXML)
同時,伊嘛是第一个出現佇咧 Windows CE 上的 SQL Server。
SQL Server 兩千空五
SQL Server 兩千空五(代號做「Yukon」)佇咧千呼萬喚下總算佇咧二空空五年十一月,佮 Visual Studio 兩千空五做伙發表,佇咧 SQL Server 兩千空五的研發過程中,其實並無順利。
SQL Server「Yukon」佇二空空三年底彼跤兜就發表矣 Beta 一,雖然已經有資料庫佮部份的新功能,猶毋過因為傷濟除毋著去(彼當陣 SQL Server 做為 CLR Hosting 基底的 . NET Framework 二嬸空也當佇咧研發中), 予執行的速度變甲誠慢。一直到二空空四年中的左右才釋出 Beta 二,這版本的穩定度就懸寡,佇咧 Beta 二和 Beta 三之間,每一至三個月左右就會釋出一个測試版本,因為並毋是達到特定的功能抑是特定時程的測試版,所以攏以「CTP」(Community Technology Preview)的方式發行(這陣廣泛運用佇各微軟的產品測試版本內底), Beta 二和 Beta 三之間相差不多一年,二空空五年六月才發布 Beta 三,現此時整個環境才大體仔下底所致。
SQL Server 二千空五具代表性的新功能有:
一 . SQL Server 管理工具的改變,SQL Server Management Studio(SSMS)取代 SQL Server Enterprise Manager。 二 . 共商業智慧型的開發功能是由 SQL Server Enterprise Manager 切出,加入 Visual Studio 中,即 Business Intelligence Development Studio(BIDS)。 三 . 新增加種 Transact-SQL 指令,比如講 PIVOT / UNPIVOT,Common Table Expression(CTE)等咧。 四 . 強化 XML 的處理能力,閣再增原生的 XML 資料型別,閣有支援原生 XML 資料型別項 XML 查詢運算子。 五 . 新增 varchar(max), nvarchar(max), varbinary(max)型的資料型別,用來取代 text、ntext 佮 image 型別。 六 . 將 . NET Framework 功能植入資料庫 ia̋n-jín 中(SQL CLR), 予 VB . NET 和 C # 會當開發 SQL Server Stored Procedure,Function,User-Defined Type 等。 七 . 原本的 DTS 改名做 SQL Server Integration Services,強化其實 ETL(Extract , Transform and Load)功能。 八 . Data Mining 新增到八種演算法。 九 . 資料庫 ia̋n-jín 的安全性功能大幅強化,引入去主體(Principal), 結構(Schema)猶閣有資料層次的加解密。 十 . 對資料結構變更加的觸發程式支援(DDL Trigger)。
除了侍服器版本的改變以外,MSDE 嘛正式由 SQL Server Express 所接替,做為 SQL Server 二千空五核心的微型資料庫侍服器,並且佇隨後的版本遐的,嘛加添矣 SQL Server Express Reporting Service 以及 SQL Server Management Studio Express 等小工具,予 SQL Server Express 比 MSDE 閣較好管理。
SQL Server 兩千空八
SQL Server 兩千空八佇二空空八年八月初六正式的發表,而且同齊咧發布 SQL Server 兩千空八 Express 版本,研發代號做「Katmai」,做為 SQL Server 兩千空五的功能強化版本,其主要的新功能佮特色有:
- 以原則為主(Policy-Based)的管理基礎架構。
- 佮 Windows Server 兩千空八、Windows Vista 的 Data Collector 技術整合的 Performance Data Collection。
- 會當經由管理者設定以調整執行資源的資源調節器(Resource Governer)。
- 可預測的查詢效能。
- 資料壓縮能力。
- DDL(資料定義語言)稽核能力。
- 透通式資料加密(Transparent Data Encryption)
- 記錄檔的資料流壓縮(Log Stream Compression)
- ADO . NET Object Services 的直接支援,這代表 SQL Server 二千空八會當支援 LINQ 和 ADO . NET Entity Framework。
- 原生的 DATE 和 TIME 分割的資料型別,並且支援時間位徙的 DATETIMEOFFSET 佮閣較精確的 DATETIME 二資料型別。
- FILESTREAM 資料型別:將大型兩進位資料存到 NTFS 檔案系統中(雖然無直接存在的資料庫內底)。
- 疏櫳欄位(Sparse Column)的支援,會當省因為 NULL 值所占占這个空間。
- 空間的資料型別集,包含 geometry(平面抑是 Euclidean(平面地球)資料)以及 geography(雞卵行(圓形地球)資料), 分別會當儉平面和立面型的資料,對於有幫贊 GIS 型系統的開發。
- 變更資料收集佮掠(Change Data Capture)。
- 闊資料表(Wide table), 會當貯上懸三十 , 零个欄位,但是需要配合 Sparse 欄位使用。
- hierarchyid 資料類型,會當允准儲存階層化的資料。
- MERGE 語句,有根據佮來源的資料表聯結的結果,佇目標資料表頂懸執行插入、閣較新抑是刪除作業,其功能佮 ADO . NET 中的 DataSet . Merge ( ) 方法類似。
- Report Server 應用程式的1875入能力。
- Reporting Service 會當支援表單驗證。
- 預測分析能力(SSAS)。
- 資料表型參數佮變數,會當佇變數抑是參數內底來使用 table 的型別。
SQL Server 二千空八比起以往版本存在以下的優勢: ( 一)保護資料庫查詢 ( 二)咧侍服器的管理操作開閣較少的時間 ( 三)增加應用程式穩定性 ( 四)系統執行效能最佳化佮預測功能
SQL Server 兩千空八 R 二
SQL Server 兩千空八 R 二佇二空一空年四月二一正式發表,而且同齊咧發布 SQL Server 兩千空八 R 二 Express 版
SQL Server 二千空一十二
SQL Server 二千空一十二佇二空一二年三月初六正式發表。提供標準、企業、智慧型商務三種版本。
SQL Server 二千空一十四
SQL Server 兩千空一十四佇二空一四年四月初一正式發表。
Windows Azure SQL Database
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 的二空一二年度 Spring Release 時,做品牌重整,將 SQL Azure 納入 Windows Azure 產品線下跤,改名做 Windows Azure SQL Database。
SQL Server 二千空一十六
已經佇二空一六年六月一號發佈。
SQL Server 二千空一十七
已經佇美國時間二空一七年十月初二發佈。
SQL Server on Linux
微軟公司佇二空一六年三月初八釋出封閉預覽測試版的 SQL Server on Linux,預定二空一七年上市。此為 SQL Server 推出二七冬以來,再次支援 Windows 以外的作業系統。
二空一七年十月,SQL Server 二千空一十七 on Linux 作為 SQL Server 二千空一十七的操作系統版本已經發佈。
SQL Server 二千空一十九
已經佇二空一九年十一月初四發佈。
架構
服務
資料庫管理工具
- SQL Server Management Studio
- SQL Server 預設的資料庫管理工具,隨著 SQL Server 安裝的時陣勾選使用者捀的選項抑若安裝。
- Navicat for SQL Server
- 是一套專為 Microsoft SQL Server 設計的強大資料庫管理佮開發工具。伊會當用佇啥物版本的 SQL Server 資料庫,閣支援大部份 SQL Server 的功能,包括觸發器、索引、檢視等等。斷點。
著編程的支援
- 以 T-SQL 語法寫 SQL 預存程序抑是 SQL 預存函式。
- ODBC 佮 OLE DB 支援。
- SQL Server Native Client,SQL Server 的原生客戶捀組件,嘛是啦 ODBC 和 OLE DB 驅動程式的提供者。SQL Server 二千空一十二起廢除。
- 自 SQL Server 二千空五了後,以 SQL CLR 支援使用 C # 抑是 VB . NET 編寫外掛的 DLL 檔,來擴充原本 TSQL 語法所欠缺的功能。
- 以sqlcmd來提供佇批次檔執行 SQL 命令的功能。
- 佇咧 ASP,會當經由 ADO 對於 SQL Server 進行存取。
- 佇咧 ASP . NET,會當經由 ADO . NET 對於 SQL Server 進行存取。
- 佇咧 Java 抑是 JSP,會當經由 JDBC 對於 SQL Server 進行存取。
- 佇咧 PHP,會當經由 PDO 對於 SQL Server 進行存取。
版本
SQL Server 依功能的無仝,分做下列的版:
- SQL Server Enterprise Edition:具有企業級功能的 SQL Server 版本,適用大型企業佮大型資料庫抑是資料倉儲的侍服器版本。
- SQL Server Standard Edition:有標準功能的 SQL Server 版本,適用佇一般企業的侍服器版本。
- SQL Server Workgroup Edition:自 SQL Server 二千開始才有的版本,專為工作群組抑是部門所設計,適用佇咧較細規模的組織。
- SQL Server Web Edition:自 SQL Server 二千空八開始才有的版本,專為 Web 侍服器佮 Web Hosting 所設計的,功能上較 Workgroup Edition 減一寡。
- SQL Server Express Edition:免錢的 SQL Server 版本,適用佇小型應用程式或者是單機型應用程式,毋過功能上有設限,干焦會當使用一粒處理器,佮上大的資料庫大細為四 GB 等。請見 SQL Server Express。
- SQL Server 兩千空八 Express 下載位址
- SQL Server 兩千空八 Express
- SQL Server 兩千空八 Express and Advanced Services
- SQL Server 兩千空八 Express with Tools
- MSDE 下載位址
- Microsoft SQL Server 兩千 Desktop Engine ( MSDE 兩千 ) Release A
- SQL Server 兩千空五 Express 下載位址
- Microsoft SQL Server 兩千空五 Express Edition with Advanced Services Service Pack 二
- Microsoft SQL Server 兩千空五 Express Edition Toolkit Service Pack 二
- Microsoft SQL Server Management Studio Express Service Pack 二
- Microsoft SQL Server 兩千空五 Express Edition Service Pack 二
- SQL Server Compact Edition:免錢的 SQL Server 版本,專用行動裝置佮 Windows CE 作業系統。
- SQL Server Developer Edition,有佮 SQL Server Enterprise Edition 仝款的功能,毋過授權佇開發應用程式佮測試之用,嘛正因為按呢,SQL Server Developer Edition 的價數干焦 Enterprise Edition 大約千分之一爾。
- SQL Server 二千空一十四 Developer Edition : 著 Visual Studio Dev Essentials 會員免費下載
參考文獻
參照
冊
- Kalen Delaney ( 兩千空一 ) . " Inside SQL Server 兩千 " . _ Microsoft Press _ . ISBN 空九七千三百五十六七九百九十八撨五 .
- Scalability Experts ( 兩千空五 ) . " SQL Server 兩千空五 : Changing the Paradigm " . _ Sams _ ISBN 空九六百七十二鋪三鋪兩千七百七十八鋪三
- Thomas Rizzo , Adam Machanic , et al ( 兩千空五 ) . " Pro SQL Server 兩千空五 " . _ Apress _ ISBN 一石頭五九千空五十九石四百七十七孵空
- Fernando Guerrero , Carlos Eduardo Rojas ( 兩千空一 ) . " Sql Server Programming By Example " , _ QUE _ ISBN 空九七千八百九十七五二千四百四十九九嬸九
- Tony Bain , et al ( 兩千空四 ) . " Beginning SQL Server 兩千 DBA From Novice to Professional " , _ aPress _ ISBN 一石頭五九千空五十九石兩百九十三-X
- Brian Knight , Kathi Kellenberger , et al ( 二千空六 ) . " Professional SQL Server 兩千空五 Integration Services " , _ Wrox _ ISBN 空九七千六百四十五五鋪八千四百三十五鋪九
- Buck Woody ( 兩千空五 ) . " Administrator's Guide to SQL Server 兩千空五 " . _ Pearson Education _ ISBN 空九三百二十一孵三鋪九千七百九十七孵五
- Mike Gunderloy , Joseph L . Jorden , David W . Tschanz ( 二千空六 ) . " Mastering SQL Server 兩千空五 " , _ Sybex _ , ISBN 空九七千八百二十一撨四千三百八十五六
外部連結
- SQL Server 技術檔案,微軟官網
- SQL Server 兩千空五智識庫 / 程式設計俱樂部
- 搜揣產品週期
- 高效率 SQL Server ,(英文)
- 早期版本的開發團隊版本歷史 ,(英文)
- SQL Server Worldwide Users Group Help Site ,(英文)
- WinFS Team Blog about WinFS rollup into Katmai and other various products ,(英文)