Microsoft SQL Server

Microsoft SQL Server是由美國微軟公司所推出的關聯式資料庫解決方案,最新的版本是SQL Server 2022,已在美國時間2022年11月16日發佈。

資料庫的内置语言原本是採用美国标准局和国际标准组织所定义的SQL语言,但是微軟公司对它进行了部分扩充而成为作业用SQL。

几个初始版本适用于中小企业的数据库管理,但是近年来它的应用范围有所扩展,已经触及到大型、跨国企业的数据库管理。

歷史淵源
SQL Server一開始並不是微軟自己研發的產品,而是當時為了要和IBM競爭時,與Sybase合作所產生的,其最早的發展者是Sybase,同時微軟也和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。

版本演進
SQL Server 1.0 & 1.1
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升級版)的銷售狀況都不佳:

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功能植入資料庫引擎中(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新增到八種演算法。

資料庫引擎的安全性功能大幅強化,引入主體(Principal),結構(Schema)以及資料層次的加解密。

對於資料結構變更的觸發程序支援(DDL Trigger)。

除了伺服器版本的改變外,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的功能強化版本,其主要的新功能與特色有:

  • 以原則為主(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。
  • 原生的DATE和TIME分割的資料型別,並且支援時間位移的DATETIMEOFFSET和更精確的DATETIME2資料型別。
  • FILESTREAM資料型別:將大型二進位資料存到NTFS檔案系統中(即不直接存在資料庫中)。
  • 稀疏欄位(Sparse Column)的支援,可節省因為NULL值所佔據的儲存空間。
  • 空間資料型別集,包含geometry(平面或Euclidean(平面地球)資料)以及geography(橢圓體(圓形地球)資料),分別可儲存平面和立面型的資料,有助於GIS型系統的開發。
  • 變更資料收集與捕捉(Change Data Capture)。
  • 寬資料表(Wide table),可以容納最高30,000個欄位,但必須要配合Sparse欄位使用。
  • hierarchyid資料類型,可以允許儲存階層化的資料。
  • MERGE陳述式,可根據與來源資料表聯結的結果,在目標資料表上執行插入、更新或刪除作業,其功能與ADO.NET中的DataSet.Merge()方法類似。
  • Report Server應用程式嵌入能力。
  • Reporting Service可支援表單驗證。
  • 預測分析能力(SSAS)。
  • 資料表型參數與變數,可以在變數或參數中使用table的型別。

SQL Server 2008比起以往版本存在以下优势:
(1)保护数据库查询
(2)在服务器的管理操作上花费更少的时间
(3)增加应用程序稳定性
(4)系统执行效能最佳化与预测功能

SQL Server 2008 R2
SQL Server 2008 R2在2010年4月21日正式發表,並且同時發布SQL Server 2008 R2 Express版
SQL Server 2012
SQL Server 2012在2012年3月6日正式發表。提供標準、企業、智慧商務三種版本。
SQL Server 2014
SQL Server 2014在2014年4月1日正式發表。
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的2012年度Spring Release時,進行了品牌重整,將SQL Azure納入Windows Azure產品線下,改名為Windows Azure SQL Database。

SQL Server 2016
已在2016年6月1日發佈。

SQL Server 2017
已在美國時間2017年10月2日發佈。

SQL Server on Linux
微軟公司於2016年3月8日釋出封閉預覽測試版的SQL Server on Linux,預定於2017年上市。此為SQL Server推出27年以來,再次支援Windows以外的作業系統。

2017年10月,SQL Server 2017 on Linux作爲SQL Server 2017的多操作系統版本已發佈。

SQL Server 2019
已在2019年11月4日發佈。

SQL Server 2022
已在 2022 年 11 月 16 日發布,RTM 版本為 16.0.1000.6。

[https://learn.microsoft.com/zh-tw/sql/machine-learning/what-s-new-in-sql-server-machine-learning-services?view=sql-server-ver16 從 SQL Server 2022 (16.x) 開始,R、Python 和 JAVA 的執行階段將不再隨 SQL 安裝程式一起安裝。 相反地,請安裝任何所需的自訂執行階段和套件。]

SQL Server 2025
2024 年 11 月 19 日微軟發布 SQL Server 2025: Enterprise AI-ready database from ground to cloud

參考 : [https://www.microsoft.com/en-us/sql-server/blog/2024/11/19/announcing-microsoft-sql-server-2025-apply-for-the-preview-for-the-enterprise-ai-ready-database/ Announcing Microsoft SQL Server 2025: Enterprise AI-ready database from ground to cloud - Microsoft SQL Server Blog]

架构
服务
資料庫管理工具
*SQL Server Management Studio(SSMS)
*:SQL Server 資料庫管理工具,需另外安裝,微軟團隊自行開發且功能強大的GUI。絕大多數功能都可以由SSMS完成。 [https://learn.microsoft.com/zh-tw/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16 Download SQL Server Management Studio (SSMS) | Microsoft Learn]
*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 2012 起废除。
*自SQL Server 2005以後,以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 2000開始才有的版本,專為工作群組或部門所設計,適用於較小規模的組織。
  • SQL Server Web Edition:自SQL Server 2008開始才有的版本,專為Web伺服器與Web Hosting所設計,功能上較Workgroup Edition少一些。
  • SQL Server Express Edition:免費的SQL Server版本,適用於小型應用程式或是單機型應用程式,但在功能上有設限,如只能使用一顆處理器,以及最大資料庫大小為4GB等。請見SQL Server Express。

** SQL Server 2008 Express下载地址
*** [http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff SQL Server 2008 Express]
*** [http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=b5d1b8c3-fda5-4508-b0d0-1311d670e336 SQL Server 2008 Express and Advanced Services]
*** [http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=7522a683-4cb2-454e-b908-e805e9bd4e28 SQL Server 2008 Express with Tools]
** MSDE下载地址
*** [http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=413744d1-a0bc-479f-bafa-e4b278eb9147 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A]
** SQL Server 2005 Express下载地址
*** [http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=5b5528b9-13e1-4db9-a3fc-82116d598c3d Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2]
*** [https://web.archive.org/web/20090628114541/http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=e8ad606a-0960-4efd-8bd7-b21370c7be2b Microsoft SQL Server 2005 Express Edition Toolkit Service Pack 2]
*** [http://www.microsoft.com/downloads/details.aspx?familyid=6053C6F8-82C8-479C-B25B-9ACA13141C9E&displaylang=zh-tw Microsoft SQL Server Management Studio Express Service Pack 2]
*** [https://web.archive.org/web/20080415010956/http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=31711d5d-725c-4afa-9d65-e4465cdff1e7 Microsoft SQL Server 2005 Express Edition Service Pack 2]
*** SQL Server Compact Edition:免費的SQL Server版本,專用於行動裝置以及Windows CE作業系統。
*SQL Server Developer Edition,具有與SQL Server Enterprise Edition相同的功能,但只授權在開發應用程式與測試之用,也正因為如此,SQL Server Developer Edition的價格只有Enterprise Edition約千分之一而已。
**SQL Server 2014 Developer Edition: [https://myprodscussu1.app.vssubscriptions.visualstudio.com/Downloads?q=SQL%20Server%202016%20Developer 对Visual Studio Dev Essentials会员免费下载]

参考文献
引用
書籍

  • Kalen Delaney (2001). "Inside SQL Server 2000". Microsoft Press. ISBN 0-7356-0998-5.
  • Scalability Experts (2005). "SQL Server 2005 : Changing the Paradigm". Sams ISBN 0-672-32778-3
  • Thomas Rizzo, Adam Machanic, et al (2005). "Pro SQL Server 2005". Apress ISBN 1-59059-477-0
  • Fernando Guerrero, Carlos Eduardo Rojas (2001). "Sql Server Programming By Example", QUE ISBN 0-7897-2449-9
  • Tony Bain, et al (2004). "Beginning SQL Server 2000 DBA From Novice to Professional", aPress ISBN 1-59059-293-X
  • Brian Knight, Kathi Kellenberger, et al (2006). "Professional SQL Server 2005 Integration Services", Wrox ISBN 0-7645-8435-9
  • Buck Woody (2005). "Administrator's Guide to SQL Server 2005". Pearson Education ISBN 0-321-39797-5
  • Mike Gunderloy, Joseph L. Jorden, David W. Tschanz (2006). "Mastering SQL Server 2005", Sybex, ISBN 0-7821-4380-6

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。