SQL SERVER 2005 簡介
一直以來,T-SQL都是容易上手的結構化查詢語言,隨着SQL Server的版本演進,除了內部功能增加,
T-SQL也大幅擴增了新的查詢指令。例如:XQuery、取得排名順序的函數、集合運算搭配OVER運算符、TOP運算符可以搭配變量或子查詢,以及透過新增的CTE(Common Table Expression)語法完成以前難以做到的循環查詢… …等等。且SQL Server2005統一了許多語法的標準,將原來需要透過系統存儲過程、DBCC命令才能建置、設定或維護的功能,都回歸到標準的T-SQL語法。
Transact-SQL依其功能可以分爲三部分:
1、數據操作語言(Data Manipulation Language, DML):其主要語法有Select、Insert、Delete和Update。藉以查詢、新增、修改和更新數據。
2、數據定義語言(Data Definition Language, DDL):其主要語法有Create、Alter和Drop。藉以建立、修改和刪除SQL Server服務器端物件。
3、數據控制語言(Data Control Language, DCL):其主要語法有Grant、Deny和Revoke。藉以允許、拒絕和移除帳號角色對物件的權限。
SQL Server 2005是全新的數據庫平臺系統,包含多種的軟件元件與服務,來滿足企業對於日漸複雜的數據系統的需求。
1、關係型數據庫引擎
這是SQL Server 2005處理關係型數據庫的核心元件,可滿足各類不同等級應用程序(小型應用程序到巨型企業的解決方案)對於數據的儲存、查詢與變動的需求。
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">
功能/強化 |
說明 |
DDL Trigger |
在過去,傳統的Trigger僅能捕捉對數據表的新增(Insert)、刪除(Delete)、更新(Update)的事件;新增的DDL Trigger,可以捕捉到DDL指令觸發,也是建立(CREATE)、修改(ALTER)、刪除(DROP)等指令。對於監控數據庫上的各類事件提供更多的能力。 |
數據分割(Partitioning) |
允許數據表可以按照規則將數據庫存放在不同的檔案羣組上,不但可以提升效能,同時強化對於超大數據表的管理與維護的機制。 |
新的數據類型 |
新增幾種好用的數據類型,比如Native XML數據類型:用來直接存放XML的數據之用。在nvarchar、varchar、varbinary數據類型中,搭配max關鍵字後,該數據行就運行存放超過8K的數據,打破過去8060 Byte的臨界點限制。 |
Transact-SQL |
新增結構化錯誤處理的機制(例如:try與catch的語法)。提供幾種自動編號、排序RANK的函數。 |
安全性 |
改良的安全性機制,增強對數據庫的保護,讓使用者與物件分離,新增Schema來管理,對數據庫物件提供更多的控制。 |
XML |
與XML做最佳的整合,不但新增了XML數據類型,也提供了XQuery語法處理數據。 |
多重結果集(Multiple Active Result Sets,MARS) |
讓你在同一個數據庫連接中開啓多個結果集,並且同時存取它們。 |
.NET Framework |
將.NET Framework CLR整合到SQL Server數據庫引擎中,讓程序設計師可以利用功能強大的.NET Framework與C#、VB.NET等熟悉的語言,建立數據庫物件。 |
複寫(Replication) |
簡化其設定與更直覺的管理機制,並有新的事務式複寫機制:peer-to-peer。提供over http方式來進行復寫。此外,也強化與變動數據庫的複寫機制。 |
數據庫維護作業 |
強化在線直接進行維護作業的能力,並提供幾種功能,比如在線還原、在線維護索引等機制。 |
2、分析服務(analysis services)
分析服務(analysis services)提供了商業智能的專業平臺,可以應用在OLAP、數據倉儲、數據挖掘上,協助企業建立最適當的決策支持。
功能/強化 |
說明 |
使用者界面 |
提供直覺簡易的管理開發工具:Business Intelligence Development Studio。 |
Analysis Services Engine |
可以在同一服務器上,安裝多個Analysis Services執行個體,並新增了Trigger、Trac與本土化等功能。 |
Cubes |
在新版中的Cube,不但可以包含多個Fact Table,更提供幾種新功能,比如關鍵效能指標(Key Performance Indicators ,KPI)與強化商業職能的決策支持的能力。 |
緯度(dimensions) |
以屬性爲分析基本的單位,可以有多對多(many-to-many)的關聯性。 |
數據挖掘 (data mining) |
新增多種新的數據挖掘演算法,並提升效能。 |
開發 |
新增非常多的功能,比如:完全與.NET Framework整合、在Analysis Service engine中內建XML for Analysis(XMLA)、強化MDX功能、ADOMD.NET API、物件定義語言(object definition language)。 |
3、SQL Server Integration Services
爲了提供數據整合更好的效率,更豐富的功能,SQL Server 2005放棄了之前相當成功;以COM規格爲基礎的DTS(Data Transformation Services,在SQL Server 7.0版本時推出的數據轉換工具),改以.NET完全重新改寫。
SSIS從核心重新開發,其中最大的變革之一是將流程管理(integration services run-time engine)與數據轉換(integration services data flow engine)分成兩大引擎來處理。這提供了較佳的流程控管與數據處理的細節可見度,同時增加了使用者透過撰寫程序延伸SSIS的方便性。並將封裝設計環境整合到 Visual Studio 2005 中,該系統開發者的經驗互通一致。新版本在執行程序的流程控管、錯誤處理、物件設定、除錯、部署、執行記錄、效率…等等方面有長足的進步。
4、通知服務(Notification Services)
通知服務(Notification Services)與.NET Framework整合,可以開發出以“訂閱”爲基礎的應用程序,即當特定事件發生時,客戶端就能接收到通知。
功能/強化 |
說明 |
訂閱管理物件(subscription management objects) |
提供一組訂閱管理物件的API,可用於當使用者進行訂閱後,得到相關的通知服務。 |
事件(event)API |
提供了4種不同的事件來源的API,可用來將各個事件的相關信息註冊到系統中,包含有:Managed API、XML file API、COM API與存儲過程API。 |
格式化通知以及傳輸 |
使用XSL來將數據轉換成不同裝置所需要的格式,讓各個不同的裝置可以正確地接收數據。傳播管道(delivery channel)則可將數據的內容,轉換成各個裝置所使用的通訊協議傳播出去。 |
5、報表服務(Reporting Services)
功能/強化 |
說明 |
報表設計 |
使用Business Intelligence Development Studio中的報表工具來建立報表。在建立報表時,可以利用設計器(query builder)定義出數據集(Data Sets),再以圖形化的用戶界面來託拽設計報表,可設計出表格式、矩陣式、自由格式等報表。 |
報表管理 |
報表服務(reporting services)中包含有報表管理的工具,你可以管理報表的安全性、進行爬網產生與部署報表,管理報表的歷史記錄等。 |
執行報表 |
報表在產生時可以發揮多個CPU同時運行的優點,提供平行執行。報表會編譯成.NET 組件,以取得最佳執行效率。 |
存取報表 |
使用這可以透過IIS網站來存取報表,並且支持幾種常用的格式,如HTML、PDF、XLS等,此外,報表也可以通過訂閱以電子郵件方式發送給使用者。 |
6、中介服務(Service Broker)
中介服務(Service Broker)可以使用隊列(Queue),以提供具有可靠性、交互性、信息爲基礎的方式,將數據傳輸給其他的軟件服務。
7、Common Language Runtime(CLR)
在SQL Server 2005這個版本上,將.NET CLR與數據庫引擎整合在一起,允許使用.NET的程序設計語言來開發各種數據庫物件。將.NET組件(assembly)匯入數據庫後,可以使用像是:CREATE ASSEMBLY強化過的CREATE PROCUDURE、CREATE TRIGGER、CREATE FUNCTION、CREATE AGGEGATE與CREATE TYPE語法,在組件中用作各類的數據庫物件。
8、對HTTP的原生支持
當將SQL Server 2005安裝在Windows Server 2003上時,SQL Server 2005可以直接原生支持HTTP,而不需要網站服務器(如IIS)這類的中間層,簡化了利用SQL Server來操作Web Service。
9、複寫(Replication)
複製與散發數據與數據庫物件,由一個數據庫或是一臺服務器到其他目的地的技術,提供多樣的選擇,可以採取同步、異步等方式來確保數據的一致性。
功能/強化 |
說明 |
安全性 |
改良了複寫(replication)安全性的模型,讓管理者可以簡易管控複寫進行時的帳號與權限。 |
管理性 |
提供全新且簡易的複寫使用者界面、複寫監視器。 |
可用性 |
可輕易變更發行集(publication)的結構。 |
可程序化 |
提供全新的程序物件模型:複寫管理模型(Replication Management Object, RMO),讓你可以在數據複寫同步過程中,更容易設計出適合的商業邏輯。 |
交互性複寫 |
允許直接由備份數據中,進行交互性複寫。 |
變動數據的複寫 |
當實際交互性或快照集複寫時,可以使用Oracle數據庫當作發行集數據來源,然後再複寫到SQL Server數據庫上。 |
對等性(peer-to-peer)的複寫 |
數據會複寫到每一臺對等的服務器上。當進行數據變動時,每一臺對等服務器會立刻接收到數據的變動。 |
HTTP複寫 |
使用Replication over HTTP或是HTTPS方式,輕易通過防火牆的限制。這種機制是將數據採用XML格式,複寫到訂閱者與IIS端;在IIS與發行者端則是採用二進制格式(binary format) over TCP/IP的方式,來進行復寫。 |
10、全文檢索查詢(FULL-TEXT Search)
通過全文檢索查詢(FULL-TEXT Search)可以啓動更快速、彈性的語言查詢。語言查詢可以字組與片語的方式運行,不像LIKE謂詞只能用來查詢字元模式比對。
功能/強化 |
說明 |
連接服務器 |
可以通過連接服務器(linked server),進行全文檢索查詢。 |
指定地區設定識別碼LocaleID |
在執行全文檢索查詢時,可以使用地區設定識別碼(LocaleID)來進行查詢。 |
備份與恢復 |
可以選擇時候要搭配數據庫的數據,一起對全文檢索目錄進行備份與恢復的維護作業。 |
附加與卸載 |
全文檢索目錄新提供了與數據庫一樣的附加與卸載的功能。 |
XML數據 |
全文檢索可以建立在XML數據上。 |
效率 |
大幅提升擴展(population)索引時的效率。 |