SQLServer

出自Windows

(修订版本间差异)
跳转到: 导航, 搜索
当前修订版本 (2009年1月20日 (二) 02:42) (查看源码)
 
第1行: 第1行:
-
'''Microsoft SQL Server'''是由[[美國]][[微軟公司]]所推出的[[關聯式資料庫]]解決方案,最新的版本是SQL Server 2008,已經在[[2008年]][[8月6日]]上市。
+
'''Microsoft SQL Server'''是由[[美国]][[微软公司]]所推出的[[关系数据库]]解决方案,最新的版本是SQL Server 2008,已经在[[2008年]][[8月6日]]上市。
-
Microsoft SQL Server資料庫的内置语言是由[[ANSI|美国标准局]](ANSI)和[[ISO|国际标准组织]](ISO)所定义的[[SQL|SQL语言]],[[微軟公司]]对它进行了部分扩充而成为[[Transact-SQL|作业用SQL]]([[Transact-SQL]])。
+
Microsoft SQL Server数据库的内置语言是由[[ANSI|美国标准局]](ANSI)和[[ISO|国际标准组织]](ISO)所定义的[[SQL|SQL语言]],[[微软公司]]对它进行了部分扩充而成为[[Transact-SQL|作业用SQL]]([[Transact-SQL]])。
Microsoft SQL Server几个初始版本适用于[[中小企业]]的[[数据库|数据库管理]],但是近年来它的应用范围有所扩展,已经触及到大型、[[跨国公司|跨国企业]]的[[数据库|数据库管理]]。
Microsoft SQL Server几个初始版本适用于[[中小企业]]的[[数据库|数据库管理]],但是近年来它的应用范围有所扩展,已经触及到大型、[[跨国公司|跨国企业]]的[[数据库|数据库管理]]。
-
== 歷史淵源 ==
+
== 历史渊源 ==
-
SQL Server一開始並不是微軟自己研發的產品,而是當時為了要和[[IBM]]競爭時,與[[Sybase]]合作所產生的,其最早的發展者是Sybase<ref name="HistoryReference">[http://insidesqlserver.com/companion/History%20of%20SQL%20Server.pdf The Evolution of Microsoft SQL Server: 1989 to 2000]</ref>,同時微軟也和Sybase合作過 SQL Server 4.2版本的研發,微軟亦將SQL Server 4.2移植到[[Windows NT]](當時為3.1版),在與Sybase終止合作關係後,自力開發出SQL Server 6.0版,往後的SQL Server即均由微軟自行研發。
+
SQL Server一开始并不是微软自己研发的产品,而是当时为了要和[[IBM]]竞争时,与[[Sybase]]合作所产生的,其最早的发展者是Sybase<ref name="HistoryReference">[http://insidesqlserver.com/companion/History%20of%20SQL%20Server.pdf The Evolution of Microsoft SQL Server: 1989 to 2000]</ref>,同时微软也和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。
+
在与微软终止合作关系后,Sybase在Windows NT上的数据库产品原本称为Sybase SQL Server,后来改为现在的Sybase Adaptive Server。
-
== 版本演進 ==
+
== 版本演进 ==
{| class="wikitable"
{| class="wikitable"
!align="center"|年代  
!align="center"|年代  
!align="center"|版本
!align="center"|版本
-
!align="center"|開發代號
+
!align="center"|开发代号
|-
|-
|1993年
|1993年
|SQL Server for Windows NT 4.21
|SQL Server for Windows NT 4.21
-
|
+
|
|-
|-
|1994年
|1994年
|SQL Server for Windows NT 4.21a
|SQL Server for Windows NT 4.21a
-
|
+
|
|-
|-
|1995年
|1995年
第42行: 第42行:
|-
|-
|2003年
|2003年
-
|SQL Server 2000 企業64位元版
+
|SQL Server 2000 企业64位版
|Liberty
|Liberty
|-
|-
第54行: 第54行:
|}
|}
=== SQL Server 1.0 & 1.1 ===
=== 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年上市。
+
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檢視並且同意後才可以執行,這個里程碑對日後微軟開始發展自己的資料庫伺服器時,在資料庫引擎的發展上,提供了相當重要的基礎。
+
不过在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升級版)的銷售狀況都不佳<ref name="HistoryReference" />。
+
然而在OS/2的销售状况不佳下,SQL Server 1.0/1.1/1.11(后续发布的1.1升级版)的销售状况都不佳<ref name="HistoryReference" />。
=== SQL Server 4.2 ===
=== SQL Server 4.2 ===
-
1992年,由Sybase與微軟共同發表SQL Server 4.2版,微軟在此版本中的貢獻為:
+
1992年,由Sybase与微软共同发表SQL Server 4.2版,微软在此版本中的贡献为:
-
# 與Sybase合作,將Sybase的SQL Server核心程式碼移植到OS/2中。
+
# 与Sybase合作,将Sybase的SQL Server核心程序代码移植到OS/2中。
-
# 提供MS-DOS,Windows以及OS/2的用戶端函式庫(Client Library)。
+
# 提供MS-DOS,Windows以及OS/2的客户端函式库(Client Library)。
-
# 開發部份管理工具。
+
# 开发部份管理工具。
-
不過SQL Server 4.2一開始並不是以32位元為基礎,而是以16位元為基礎開發。
+
不过SQL Server 4.2一开始并不是以32位为基础,而是以16位为基础开发。
=== SQL Server for Windows NT ===
=== 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”。
+
在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)的開發工作,在市場上銷售<ref name="HistoryReference" />。
+
在SQL NT中,微软将SQL Server 4.2的核心程序代码,以[[Win32 API]]翻写,并于1993年Windows NT 3.1出货后30天,完成SQL Server for Windows NT (4.2)的开发工作,在市场上销售<ref name="HistoryReference" />。
-
SQL Server 4.2是第一個Windows NT 上的 SQL Server,也是第一個出現在微軟認證考試中的SQL Server產品。
+
SQL Server 4.2是第一个Windows NT 上的 SQL Server,也是第一个出现在微软认证考试中的SQL Server产品。
=== SQL Server 6.0 ===
=== 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 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 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 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的發行,讓微軟的資料庫研發能力正式被外界認可<ref name="HistoryReference" />。
+
SQL Server 6.0(SQL 95)于1995年6月14日完成并进入[[RTM]](released to manufacturing),对于SQL Server团队以及微软来说,SQL Server 6.0是重要的里程碑,因为此版本是完全由微软自行开发,未假手Sybase或其他厂商,因此SQL Server 6.0的发行,让微软的数据库研发能力正式被外界认可<ref name="HistoryReference" />。
-
SQL Server 6.5发布於1996年,約於SQL Server 6.0發表後十個月後發行<ref name="HistoryReference" />。
+
SQL Server 6.5发布于1996年,约于SQL Server 6.0发表后十个月后发行<ref name="HistoryReference" />。
=== SQL Server 7.0 ===
=== SQL Server 7.0 ===
-
當微軟正在發展SQL Server 6.5時,已經另外有一個團隊正在發展新的資料庫,由於微軟計畫要能夠讓此種資料庫引擎能夠具有可向上發展,亦可以縮小到PC或筆記型電腦中,因此資料庫的核心必須要重新撰寫,這就會涉及資料結構的改變,為了要讓資料庫的升級能夠確保其穩定性,微軟在1997年特別邀請1000個組織備份資料庫,交由開發小組進行升級,並且在升級過程中找出可能的失敗原因。同時在1998年2月起,微軟與ISV合作發展運行於SQL Server 7.0的軟體,除了保持相容性外,也讓ISV能夠特別為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]]資料庫外的另一種單機資料庫的選擇。
+
在同一时间,[[OLE DB]]的技术,以及很多人熟知的[[MSDE]](Microsoft Data Engine)也在研发中,后来OLE DB成为Windows平台上资料存取的显学,其上的ADO更获得多数开发人员的采用。而MSDE也做为[[Microsoft Access]]数据库外的另一种单机数据库的选择。
-
SQL Server 7.0最終凍結版本為7.00.623.07,於1998年12月進入RTM<ref name="HistoryReference" />。
+
SQL Server 7.0最终冻结版本为7.00.623.07,于1998年12月进入RTM<ref name="HistoryReference" />。
=== SQL Server 2000 ===
=== 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 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.5摆脱“Super Service Pack”的束缚:
-
# SQL Server 7.0 Service Pack 2已經發表,無需再開發一個Service Pack。
+
# SQL Server 7.0 Service Pack 2已经发表,无需再开发一个Service Pack。
-
# 來自客戶對於效能以及在資料倉儲中對星狀拓樸支援的分割檢視與最佳化的要求。
+
# 来自客户对于效能以及在数据仓储中对星状拓朴支持的分割检视与优化的要求。
-
# 來自於競爭者Oracle的壓力。
+
# 来自于竞争者Oracle的压力。
-
在微軟決定要把時程展延到18個月(完整的軟體週期)時,也開始為SQL Server 7.5加入新的功能,版本代碼升級到8.0(最終版本為 8.0.194),同時因應當時Windows 2000的計畫,[[Microsoft Servers|Microsoft BackOffice]]也命名為BackOffice 2000,故SQL Server 8.0也改名為SQL Server 2000。
+
在微软决定要把时程展延到18个月(完整的软件周期)时,也开始为SQL Server 7.5加入新的功能,版本代码升级到8.0(最终版本为 8.0.194),同时因应当时Windows 2000的计划,[[Microsoft Servers|Microsoft BackOffice]]也命名为BackOffice 2000,故SQL Server 8.0也改名为SQL Server 2000。
-
SQL Server 2000於2000年8月6日完成,並於2000年8月9日進入RTM狀態<ref name="HistoryReference" />。
+
SQL Server 2000于2000年8月6日完成,并于2000年8月9日进入RTM状态<ref name="HistoryReference" />。
-
SQL Server 2000 可說是微軟資料庫伺服器中“生命期最久”(自2000年8月9日RTM開始到2005年11月SQL Server 2005上市為止,長達五年又三個月),而且後續添加的新功能相當多,Service Pack也最多(最後的 Service Pack 為 SP4)的版本,諸如:
+
SQL Server 2000 可说是微软数据库服务器中“生命期最久”(自2000年8月9日RTM开始到2005年11月SQL Server 2005上市为止,长达五年又三个月),而且后续添加的新功能相当多,Service Pack也最多(最后的 Service Pack 为 SP4)的版本,诸如:
# SQL Server 2000 Notification Services
# SQL Server 2000 Notification Services
第119行: 第119行:
# SQL Server 2000 XML(SQLXML)
# SQL Server 2000 XML(SQLXML)
-
同時,它也是第一個出現在 [[Windows CE]] 上的 SQL Server。
+
同时,它也是第一个出现在 [[Windows CE]] 上的 SQL Server。
=== SQL Server 2005 ===
=== SQL Server 2005 ===
-
SQL Server 2005(代號為“Yukon”)在千呼萬喚下終於在2005年11月,與Visual Studio 2005一起發表,在SQL Server 2005的研發過程中,其實並不順利。
+
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“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具代表性的新功能有<ref>[http://www.microsoft.com/sql/prodinfo/features/top30features.mspx SQL Server 2005 Top 30 Features]</ref>:
SQL Server 2005具代表性的新功能有<ref>[http://www.microsoft.com/sql/prodinfo/features/top30features.mspx SQL Server 2005 Top 30 Features]</ref>:
-
# SQL Server管理工具的改變,SQL Server Management Studio(SSMS)取代SQL Server Enterprise Manager。
+
# SQL Server管理工具的改变,SQL Server Management Studio(SSMS)取代SQL Server Enterprise Manager。
-
# 將商業智慧的開發功能由SQL Server Enterprise Manager切出,加入Visual Studio中,即Business Intelligence Development Studio(BIDS)。
+
# 将商业智能的开发功能由SQL Server Enterprise Manager切出,加入Visual Studio中,即Business Intelligence Development Studio(BIDS)。
-
# 新增多種Transact-SQL指令,例如PIVOT/UNPIVOT,Common Table Expression(CTE)等等。
+
# 新增多种Transact-SQL指令,例如PIVOT/UNPIVOT,Common Table Expression(CTE)等等。
-
# 強化XML的處理能力,並新增原生的XML資料型別,以及支援原生XML資料型別的XML查詢運算子。
+
# 强化XML的处理能力,并新增原生的XML数据型别,以及支持原生XML数据型别的XML查询运算符。
-
# 新增varchar(max),nvarchar(max),varbinary(max)型資料型別,用來取代text、ntext與image型別。
+
# 新增varchar(max),nvarchar(max),varbinary(max)型资料型别,用来取代text、ntext与image型别。
-
# .NET Framework功能植入資料庫引擎中([[SQL CLR]]),讓VB.NET和C#可以開發SQL Server Stored Procedure,Function,User-Defined Type等。
+
# .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)功能。
+
# 原本的DTS改名为SQL Server Integration Services,强化其[[ETL]](Extract, Transform and Load)功能。
-
# Data Mining新增到八種演算法。
+
# Data Mining新增到八种算法。
-
# 資料庫引擎的安全性功能大幅強化,引入主體(Principal),結構(Schema)以及資料層次的加解密。
+
# 数据库引擎的安全性功能大幅强化,引入主体(Principal),结构(Schema)以及数据层次的加解密。
-
# 對於資料結構變更的觸發程序支援(DDL Trigger)。
+
# 对于数据结构变更的触发程序支持(DDL Trigger)。
-
除了伺服器版本的改變外,MSDE也正式由[[SQL Server Express]]所接替,做為SQL Server 2005核心的微型資料庫伺服器,並且在隨後的版本,也添加了SQL Server Express Reporting Service以及SQL Server Management Studio Express等小工具,讓SQL Server Express比MSDE更好管理。
+
除了服务器版本的改变外,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 ===
-
SQL Server 2008在2008年8月6日正式發表,並且同時發布SQL Server 2008 Express版本,研發代號為“Katmai”,作為SQL Server 2005的功能強化版本,其主要的新功能<ref>[http://www.microsoft.com/sqlserver/2008/en/us/overview.aspx SQL Server 2008 New Features]</ref>與特色有:
+
SQL Server 2008在2008年8月6日正式发表,并且同时发布SQL Server 2008 Express版本,研发代号为“Katmai”,作为SQL Server 2005的功能强化版本,其主要的新功能<ref>[http://www.microsoft.com/sqlserver/2008/en/us/overview.aspx SQL Server 2008 New Features]</ref>与特色有:
-
* 以原則為主(Policy-Based)的管理基礎架構。
+
* 以原则为主(Policy-Based)的管理基础架构。
-
* 與Windows Server 2008、Windows Vista的Data Collector技術整合的Performance Data Collection。
+
* 与Windows Server 2008、Windows Vista的Data Collector技术整合的Performance Data Collection。
-
* 可以經由管理者設定以調整執行資源的資源調節器(Resource Governer)。
+
* 可以经由管理者设定以调整执行资源的资源调节器(Resource Governer)。
-
* 可預測的查詢效能。
+
* 可预测的查询效能。
-
* 資料壓縮能力。
+
* 数据压缩能力。
-
* DDL(資料定義語言)稽核能力。
+
* DDL(数据定义语言)稽核能力。
-
* 透通式資料加密(Transparent Data Encryption)
+
* 透通式数据加密(Transparent Data Encryption)
-
* 記錄檔資料流壓縮(Log Stream Compression)
+
* 记录文件数据流压缩(Log Stream Compression)
-
* ADO.NET Object Services的直接支援,這代表SQL Server 2008可支援LINQ和ADO.NET Entity Framework。
+
* ADO.NET Object Services的直接支持,这代表SQL Server 2008可支持LINQ和ADO.NET Entity Framework。
-
* 原生的DATE和TIME分割的資料型別,並且支援時間位移的DATETIMEOFFSET和更精確的DATETIME2資料型別。
+
* 原生的DATE和TIME分割的数据型别,并且支持时间位移的DATETIMEOFFSET和更精确的DATETIME2数据型别。
-
* FILESTREAM資料型別:將大型二進位資料存到NTFS檔案系統中(即不直接存在資料庫中)。
+
* FILESTREAM资料型别:将大型二进制数据存到NTFS文件系统中(即不直接存在数据库中)。
-
* 稀疏欄位(Sparse Column)的支援,可節省因為NULL值所佔據的儲存空間。
+
* 稀疏字段(Sparse Column)的支持,可节省因为NULL值所占据的储存空间。
-
* 空間資料型別集,包含geometry(平面或Euclidean(平面地球)資料)以及geography(橢圓體(圓形地球)資料),分別可儲存平面和立面型的資料,有助於[[GIS]]型系統的開發。
+
* 空间数据型别集,包含geometry(平面或Euclidean(平面地球)数据)以及geography(椭圆体(圆形地球)数据),分别可储存平面和立面型的数据,有助于[[GIS]]型系统的开发。
-
* 變更資料收集與捕捉(Change Data Capture)。
+
* 变更资料收集与捕捉(Change Data Capture)。
-
* 寬資料表(Wide table),可以容納最高30,000個欄位,但必須要配合Sparse欄位使用。
+
* 宽数据表(Wide table),可以容纳最高30,000个字段,但必须要配合Sparse字段使用。
-
* hierarchyid資料類型,可以允許儲存階層化的資料。
+
* hierarchyid数据类型,可以允许储存阶层化的数据。
-
* MERGE陳述式,可根據與來源資料表聯結的結果,在目標資料表上執行插入、更新或刪除作業,其功能與[[ADO.NET]]中的DataSet.Merge()方法類似。
+
* MERGE语句,可根据与源数据表联结的结果,在目标数据表上执行插入、更新或删除作业,其功能与[[ADO.NET]]中的DataSet.Merge()方法类似。
-
* Report Server應用程式嵌入能力。
+
* Report Server应用程序嵌入能力。
-
* Reporting Service可支援表單驗證。
+
* Reporting Service可支持窗体验证。
-
* 預測分析能力(SSAS)。
+
* 预测分析能力(SSAS)。
-
* 資料表型參數與變數,可以在變數或參數中使用table的型別。
+
* 数据表型参数与变量,可以在变量或参数中使用table的型别。
===SQL Server Data Services===
===SQL Server Data Services===
第172行: 第172行:
{{main|SQL Server Data Services}}
{{main|SQL Server Data Services}}
-
SQL Server Data Services (SSDS) 為以微軟 SQL Server 2008 為主所開發的雲端儲存 (Cloud Storage) 實作。
+
SQL Server Data Services (SSDS) 为以微软 SQL Server 2008 为主所开发的云端储存 (Cloud Storage) 实作。
== 版本 ==
== 版本 ==
第178行: 第178行:
SQL Server依功能的不同,分成下列的版本:
SQL Server依功能的不同,分成下列的版本:
-
* SQL Server Enterprise Edition:具有企業級功能的SQL Server版本,適用於大型企業以及大型資料庫或資料倉儲的伺服器版本。
+
* SQL Server Enterprise Edition:具有企业级功能的SQL Server版本,适用于大型企业以及大型数据库或数据仓储的服务器版本。
-
* SQL Server Standard Edition:具有標準功能的SQL Server版本,適用於一般企業的伺服器版本。
+
* SQL Server Standard Edition:具有标准功能的SQL Server版本,适用于一般企业的服务器版本。
-
* SQL Server Workgroup Edition:自SQL Server 2000開始才有的版本,專為工作群組或部門所設計,適用於較小規模的組織。
+
* SQL Server Workgroup Edition:自SQL Server 2000开始才有的版本,专为工作组或部门所设计,适用于较小规模的组织。
-
* SQL Server Web Edition:自SQL Server 2008開始才有的版本,專為Web 伺服器與Web Hosting所設計,功能上較Workgroup Edition少一些。
+
* SQL Server Web Edition:自SQL Server 2008开始才有的版本,专为Web 服务器与Web Hosting所设计,功能上较Workgroup Edition少一些。
-
* SQL Server Express Edition:免費的SQL Server版本,適用於小型應用程式或是單機型應用程式,但在功能上有設限,如只能使用一顆處理器,以及最大資料庫大小為4GB等。請見[[SQL Server Express]]。
+
* SQL Server Express Edition:免费的SQL Server版本,适用于小型应用程序或是单机型应用程序,但在功能上有设限,如只能使用一颗处理器,以及最大数据库大小为4GB等。请见[[SQL Server Express]]。
** SQL Server 2008 Express 下载地址
** SQL Server 2008 Express 下载地址
第195行: 第195行:
:* [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]
:* [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]
:* [http://www.microsoft.com/downloads/details.aspx?familyid=31711D5D-725C-4AFA-9D65-E4465CDFF1E7&displaylang=zh-tw Microsoft SQL Server 2005 Express Edition Service Pack 2]
:* [http://www.microsoft.com/downloads/details.aspx?familyid=31711D5D-725C-4AFA-9D65-E4465CDFF1E7&displaylang=zh-tw Microsoft SQL Server 2005 Express Edition Service Pack 2]
-
* SQL Server Compact Edition:免費的SQL Server版本,專用於行動裝置以及Windows CE作業系統。
+
* SQL Server Compact Edition:免费的SQL Server版本,专用于行动装置以及Windows CE操作系统。
-
另外SQL Server還有一個特殊的版本:SQL Server Developer Edition,它具有與SQL Server Enterprise Edition相同的功能,但只授權在開發應用程式與測試之用,也正因為如此,SQL Server Developer Edition的價格只有Enterprise Edition約千分之一而已。
+
另外SQL Server还有一个特殊的版本:SQL Server Developer Edition,它具有与SQL Server Enterprise Edition相同的功能,但只授权在开发应用程序与测试之用,也正因为如此,SQL Server Developer Edition的价格只有Enterprise Edition约千分之一而已。
-
== SQL Server 2005 強化與革新 ==
+
== SQL Server 2005 强化与革新 ==
-
SQL Server 2005在資料庫核心做了相當大的改變,將.NET整合到資料庫引擎中,因此開發人員除了可用原有的T-SQL語法進行開發之外,也可使用.NET語言。另外,在介面整合、高可用性、安全性與商業智慧等方面,均做了相當大的強化與更新。
+
SQL Server 2005在数据库核心做了相当大的改变,将.NET整合到数据库引擎中,因此开发人员除了可用原有的T-SQL语法进行开发之外,也可使用.NET语言。另外,在接口整合、高可用性、安全性与商业智慧等方面,均做了相当大的强化与更新。
-
=== .NET整合 ===
+
=== .NET整合 ===
{{main|SQL CLR}}
{{main|SQL CLR}}
-
使用C#或VB.NET寫SQL CLR的預存程序或預存函數,透過.NET FrameWork使SQL Server能使用到原本沒有內建的功能。
+
使用C#或VB.NET写SQL CLR的预存程序或预存函数,透过.NET FrameWork使SQL Server能使用到原本没有内建的功能。
-
=== 介面整合 ===
+
=== 接口整合 ===
=== 高可用性 ===
=== 高可用性 ===
-
=== 系統安全性 ===
+
=== 系统安全性 ===
-
=== 商業智慧 ===
+
=== 商业智慧 ===
-
*整合服務(SQL Server Integration Services,SSIS)
+
*整合服务(SQL Server Integration Services,SSIS)
-
:建立資料整合方案,包括[[資料倉儲]]的擷取、轉換和載入封裝。
+
:建立数据整合方案,包括[[数据仓储]]的撷取、转换和加载封装。
-
*報表服務(SQL Server Reporting Services,SSRS)
+
*报表服务(SQL Server Reporting Services,SSRS)
-
:建立從各種資料來源取得內容的報表、以各種格式發行報表,以及集中管理安全性和訂閱。
+
:建立从各种数据源取得内容的报表、以各种格式发行报表,以及集中管理安全性和订阅。
-
*分析服務(SQL Server Analysis Services,SSAS)
+
*分析服务(SQL Server Analysis Services,SSAS)
-
:用於[[OLAP]]或[[資料採礦]]的計算。
+
:用于[[OLAP]]或[[数据采矿]]的计算。
===其他===
===其他===
*支援原生XML
*支援原生XML
-
*同時支援32位元與64位元系統
+
*同时支持32位与64位系统
*注意sql 2005 enterprise 版本 不支持vista系统,但express版本与developer版本可以。
*注意sql 2005 enterprise 版本 不支持vista系统,但express版本与developer版本可以。
-
==參考資料==
+
==参考数据==
<div class="references-small">
<div class="references-small">
<references />
<references />
第238行: 第238行:
== 外部链接==  
== 外部链接==  
-
#微軟官方網站,《SQL Server 2005概觀》[http://www.microsoft.com/taiwan/sql/prodinfo/overview/default.mspx http://www.microsoft.com/taiwan/sql/prodinfo/overview/default.mspx],2005年11月7日
+
#微软官方网站,《SQL Server 2005概观》[http://www.microsoft.com/taiwan/sql/prodinfo/overview/default.mspx http://www.microsoft.com/taiwan/sql/prodinfo/overview/default.mspx],2005年11月7日
-
#微軟官方網站,《Microsoft SQL Server & Microsoft Visual Studio:歷史牆》[http://www.microsoft.com/taiwan/sql/history/default.htm http://www.microsoft.com/taiwan/sql/history/default.htm]
+
#微软官方网站,《Microsoft SQL Server & Microsoft Visual Studio:历史墙》[http://www.microsoft.com/taiwan/sql/history/default.htm http://www.microsoft.com/taiwan/sql/history/default.htm]
-
#iThome電腦報,《扛起企業重資料,SQL Server 2005邁進企業級資料庫》,[http://www.ithome.com.tw/itadm/article.php?c=34161 http://www.ithome.com.tw/itadm/article.php?c=34161],2005年11月21日
+
#iThome计算机报,《扛起企业重数据,SQL Server 2005迈进企业级数据库》,[http://www.ithome.com.tw/itadm/article.php?c=34161 http://www.ithome.com.tw/itadm/article.php?c=34161],2005年11月21日
*[http://www.microsoft.com/sql/default.mspx SQL Server Official Site]
*[http://www.microsoft.com/sql/default.mspx SQL Server Official Site]
*[http://www.yafla.com/papers/SQL_Server_Performance/high_performance_sql_server.htm High Performance SQL Server]
*[http://www.yafla.com/papers/SQL_Server_Performance/high_performance_sql_server.htm High Performance SQL Server]

当前修订版本

Microsoft SQL Server是由美国微软公司所推出的关系数据库解决方案,最新的版本是SQL Server 2008,已经在2008年8月6日上市。

Microsoft SQL Server数据库的内置语言是由美国标准局(ANSI)和国际标准组织(ISO)所定义的SQL语言微软公司对它进行了部分扩充而成为作业用SQLTransact-SQL)。

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

目录

历史渊源

SQL Server一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase<ref name="HistoryReference">The Evolution of Microsoft SQL Server: 1989 to 2000</ref>,同时微软也和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。

版本演进

年代 版本 开发代号
1993年 SQL Server for Windows NT 4.21
1994年 SQL Server for Windows NT 4.21a
1995年 SQL Server 6.0 SQL 95
1996年 SQL Server 6.5 Hydra
1998年 SQL Server 7.0 Sphinx
2000年 SQL Server 2000 Shiloh
2003年 SQL Server 2000 企业64位版 Liberty
2005年 SQL Server 2005 Yukon
2008年 SQL Server 2008 Katmai

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升级版)的销售状况都不佳<ref name="HistoryReference" />。

SQL Server 4.2

1992年,由Sybase与微软共同发表SQL Server 4.2版,微软在此版本中的贡献为:

  1. 与Sybase合作,将Sybase的SQL Server核心程序代码移植到OS/2中。
  2. 提供MS-DOS,Windows以及OS/2的客户端函式库(Client Library)。
  3. 开发部份管理工具。

不过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)的开发工作,在市场上销售<ref name="HistoryReference" />。

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 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的发行,让微软的数据库研发能力正式被外界认可<ref name="HistoryReference" />。

SQL Server 6.5发布于1996年,约于SQL Server 6.0发表后十个月后发行<ref name="HistoryReference" />。

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<ref name="HistoryReference" />。

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”的束缚:

  1. SQL Server 7.0 Service Pack 2已经发表,无需再开发一个Service Pack。
  2. 来自客户对于效能以及在数据仓储中对星状拓朴支持的分割检视与优化的要求。
  3. 来自于竞争者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状态<ref name="HistoryReference" />。

SQL Server 2000 可说是微软数据库服务器中“生命期最久”(自2000年8月9日RTM开始到2005年11月SQL Server 2005上市为止,长达五年又三个月),而且后续添加的新功能相当多,Service Pack也最多(最后的 Service Pack 为 SP4)的版本,诸如:

  1. SQL Server 2000 Notification Services
  2. SQL Server 2000 Reporting Services
  3. SQL Server 2000 Web Administration
  4. SQL Server 2000 XML(SQLXML)

同时,它也是第一个出现在 Windows CE 上的 SQL Server。

SQL Server 2005

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具代表性的新功能有<ref>SQL Server 2005 Top 30 Features</ref>:

  1. SQL Server管理工具的改变,SQL Server Management Studio(SSMS)取代SQL Server Enterprise Manager。
  2. 将商业智能的开发功能由SQL Server Enterprise Manager切出,加入Visual Studio中,即Business Intelligence Development Studio(BIDS)。
  3. 新增多种Transact-SQL指令,例如PIVOT/UNPIVOT,Common Table Expression(CTE)等等。
  4. 强化XML的处理能力,并新增原生的XML数据型别,以及支持原生XML数据型别的XML查询运算符。
  5. 新增varchar(max),nvarchar(max),varbinary(max)型资料型别,用来取代text、ntext与image型别。
  6. 将.NET Framework功能植入数据库引擎中(SQL CLR),让VB.NET和C#可以开发SQL Server Stored Procedure,Function,User-Defined Type等。
  7. 原本的DTS改名为SQL Server Integration Services,强化其ETL(Extract, Transform and Load)功能。
  8. Data Mining新增到八种算法。
  9. 数据库引擎的安全性功能大幅强化,引入主体(Principal),结构(Schema)以及数据层次的加解密。
  10. 对于数据结构变更的触发程序支持(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的功能强化版本,其主要的新功能<ref>SQL Server 2008 New Features</ref>与特色有:

  • 以原则为主(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 Data Services

Template:Future software Template:Main

SQL Server Data Services (SSDS) 为以微软 SQL Server 2008 为主所开发的云端储存 (Cloud Storage) 实作。

版本

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 下载地址
    • MSDE 下载地址
    • SQL Server 2005 Express 下载地址
  • SQL Server Compact Edition:免费的SQL Server版本,专用于行动装置以及Windows CE操作系统。

另外SQL Server还有一个特殊的版本:SQL Server Developer Edition,它具有与SQL Server Enterprise Edition相同的功能,但只授权在开发应用程序与测试之用,也正因为如此,SQL Server Developer Edition的价格只有Enterprise Edition约千分之一而已。

SQL Server 2005 强化与革新

SQL Server 2005在数据库核心做了相当大的改变,将.NET整合到数据库引擎中,因此开发人员除了可用原有的T-SQL语法进行开发之外,也可使用.NET语言。另外,在接口整合、高可用性、安全性与商业智慧等方面,均做了相当大的强化与更新。

与.NET整合

Template:Main

使用C#或VB.NET写SQL CLR的预存程序或预存函数,透过.NET FrameWork使SQL Server能使用到原本没有内建的功能。

接口整合

高可用性

系统安全性

商业智慧

  • 整合服务(SQL Server Integration Services,SSIS)
建立数据整合方案,包括数据仓储的撷取、转换和加载封装。
  • 报表服务(SQL Server Reporting Services,SSRS)
建立从各种数据源取得内容的报表、以各种格式发行报表,以及集中管理安全性和订阅。
  • 分析服务(SQL Server Analysis Services,SSAS)
用于OLAP数据采矿的计算。

其他

  • 支援原生XML
  • 同时支持32位与64位系统
  • 注意sql 2005 enterprise 版本 不支持vista系统,但express版本与developer版本可以。

参考数据

<references />

  • 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 0321397975
  • Mike Gunderloy, Joseph L. Jorden, David W. Tschanz (2006). "Mastering SQL Server 2005", Sybex, ISBN 0782143806

外部链接

  1. 微软官方网站,《SQL Server 2005概观》http://www.microsoft.com/taiwan/sql/prodinfo/overview/default.mspx,2005年11月7日
  2. 微软官方网站,《Microsoft SQL Server & Microsoft Visual Studio:历史墙》http://www.microsoft.com/taiwan/sql/history/default.htm
  3. iThome计算机报,《扛起企业重数据,SQL Server 2005迈进企业级数据库》,http://www.ithome.com.tw/itadm/article.php?c=34161,2005年11月21日
个人工具
友情链接