2010年7月5日 星期一

MS SQL Server 2005 的新功能 - 官方版

http://www.microsoft.com/taiwan/sql/prodinfo/overview/whats-new-in-sqlserver2005.mspx
本頁內容
企業資料管理企業資料管理
開發人員生產力開發人員生產力
商業智慧商業智慧
升級至 SQL Server 2005升級至 SQL Server 2005
後續的步驟後續的步驟

企業資料管理

在這個 網路的時代,資料及管理該資料的系統必須恆保安全且可供使用。SQL Server 2005 能減少應用程式停用的情況、提升延展性及效能,同時提供嚴密卻又有彈性的安全性控制,對貴公司的使用者及資訊科技 (IT) 專家是一大福音。本產品也具備許多新增及改善功能,可協助提升 IT 人員的生產力。SQL Server 2005 對企業資料管理方面,主要增強的功能如下:

管理性

可用性

延展性

安全性

管 理性

SQL Server 2005 使部署、管理及最佳化企業資料與分析應用程式更加簡單方便。作為企業資料管理的平台,SQL Server 2005 能提供單一的管理主控台,協助貴公司各地的資料管理員監視、管理及微調整個企業的所有資料庫與相關聯的服務。它提供了可擴充的管理基礎結構,可使用 SQL Management Objects 輕鬆地進行程式設計,使用者能夠自訂及擴充其管理環境,獨立軟體廠商 (ISV) 也能建立附加工具及功能,擴充原有能力。

SQL Server Management Studio

SQL Server 2005 提供一個整合式管理主控台以及 Integration Services、Analysis Services、Reporting Services、Notification Services 及 SQL Server Mobile Edition 以簡化管理,可跨大量的分散式伺服器及資料庫,監視及管理 SQL Server 關聯式資料庫。資料庫管理員可同時執行多項工作,比如撰寫及執行查詢、檢視伺服器物件、管理物件、監視系統活動及檢視線上說明。SQL Server Management Studio 提供開發環境,可使用 Transact-SQL、多維度運算式、XML for Analysis 及 SQL Server Mobile Edition,撰寫、編輯及管理指令碼與預存程序。Management Studio 可與原始檔控制迅速整合。Management Studio 也提供數種工具,可排定 SQL Server 代理程式作業,管理維護計劃,將日常的維護與操作工作自動化。管理與撰寫也整合在單一工具中,兼具管理各類伺服器的能力,可提升資料庫管理員的生產力。

SQL Server 2005 公開了超過 70 種內部資料庫效能及資源使用的新量值,範圍從記憶體、鎖定及排程到交易及網路與磁碟 I/O 等。這些「動態管理檢視」(DMV) 提供了更佳的資料庫透明度與可見度,以及主動監視資料庫健全狀況及效能的強大基礎結構。

SQL Management Objects

SQL Management Objects (SMO) 是一套新的程式設計物件,展現了 SQL Server 資料庫的所有管理功能。實際上,Management Studio 是使用 SQL Management Objects 建置而成。SMO 是以 Microsoft .NET Framework 組件的形式來實作。您可以使用 SMO 來自動化常用的 SQL Server 管理工作,比如以程式設計方式擷取組態設定、建立新的資料庫、套用 Transact-SQL 指令碼、建立 SQL Server 代理程式作業,以及排定備份等。SMO 物件模型取代了舊版 SQL Server 所包含的 Distributed Management Objects (DMO),SMO 物件模型比 DMO 更安全、更可靠、且更具延展性。

可用性

企業若投資高可用性技 術、額外備份與還原功能及複寫增強功能,就能建置並部署高可用性的應用程式。採用資料庫鏡像、容錯移轉叢集、資料庫快照集及增強型線上作業等創新的高可用 性功能,可將停機時間降到最低,確保重要的企業系統仍然可供存取。本節將更深入地討論這些增強功能。

資料庫鏡像

資料庫鏡 像可確保交易記錄的資料流能在順利地從來源伺服器流向單一目的伺服器。萬一主要系統失敗,應用程式可以立即重新連接到次要伺服器上的資料庫。次要執行個體 會在數秒內偵測到主要伺服器的失敗,並立即接受資料庫連接。資料庫鏡像在標準的伺服器硬體上即可運作,不需要特殊的儲存體或控制器。[圖 1] 顯示資料庫鏡像的基本組態。

圖 1:資料庫鏡像的基本組態

容 錯移轉叢集

容錯移轉叢集是一項高可用性解決方案,它利用 Microsoft Windows 叢集服務建立容錯的虛擬伺服器,可在資料庫伺服器失敗時快速的容地進行移轉。在 SQL Server 2005 中,容錯移轉叢集的支援已擴及 SQL Server Analysis Services、Notification Services 及 SQL Server 複寫。叢集節點數上限已增加到八個。SQL Server 容錯移轉叢集現已成為完整的伺服器容錯解決方案。


可用性功能資料庫鏡像容錯移轉叢集

自動容錯移轉

透明的用戶端重新導向

是,自動重新導向

是,重新連接到相同的 IP

對整體輸送量的影響

無影響或影響極小

無影響

零工作損失

需要通過認證的硬體

提供冗餘資料

資料庫快照集

SQL Server 2005 可讓資料庫管理員建立資料庫的即時唯讀檢視。此資料庫快照集提供穩定的檢視,而不需要建立資料庫完整副本,節省時間且免於對儲存體帶來負擔。一旦主要資料 庫與快照集間出現差異,快照集會加入已修改頁面的副本。因此,資料庫意外變更時,只要從快照集將原始頁面重新套用到主要資料庫,即可迅速復原。

快 速復原

SQL Server 2005 使用更快速的新復原選項,改善了 SQL Server 資料庫的可用性。使用者可在交易記錄向前復原之後,重新連接到復原中的資料庫。舊版的 SQL Server 中,使用者必須等到不完整的交易回復為止,即使使用者不需要存取資料庫受影響的部份也一樣。

專用管理員連接

SQL Server 2005 添加了專用管理員連接,即使伺服器沒有回應或無法使用,也可存取執行中的伺服器。這可讓您執行診斷函數或 Transact-SQL 陳述式,以便對伺服器的問題進行疑難排解。啟動連接的是系統管理員 (sysadmin) 固定伺服器角色的成員,且只能在本機或從遠端電腦透過 SQLCMD 命令提示字元工具來使用。

線上作業 (索引作業及還原)

SQL Server 2005 將舊版 SQL Server 的索引功能加以延伸,推出了線上建立、重建或卸除索引的新功能。線上索引選項允許在索引資料定義語言 (DDL) 執行期間同時修改 (更新、刪除及插入) 基礎資料表或叢集索引資料及任何關聯的索引。有了線上索引作業的支援,無須干擾資料表或其他現有索引的存取,即可新增索引。此外,伺服器工作負載允許索引 作業以利用平行處理。SQL Server 2005 也添加了在 SQL Server 執行個體執行的同時執行還原作業的能力。線上還原功能改善了 SQL Server 的可用性,因為只有正被還原的資料無法使用,資料庫其餘部份仍維持連線且可使用。舊版 SQL Server 則需要您在還原資料庫前,先使其離線。

複寫

複寫的設計可將資料散發至多個資料庫伺服器,以增加資料可用性。使應用程式能 將 SQL Server 的讀取工作負載分攤至各資料庫,藉此提升了可用性。SQL Server 2005 提供使用新的點對點模型的增強型複寫,該模型提供了新的拓樸,在其中資料庫可與任何相同的對等資料庫進行交易同步處理。

延展性

資 料表分割、快照集隔離及 64 位元支援等延展性增強功能,可讓您使用 SQL Server 2005 來建置及部署要求最嚴苛的應用程式。大型資料表經過分割及索引,顯著提升了對超大型資料庫查詢的效能。

資料表和索引資料分割

資 料表和索引資料分割藉由使用較小、較可管理的區塊來促進資料庫的管理,以減輕大型資料庫的管理。雖然跨資料表、資料庫及伺服器進行資料分割並不是資料庫世 界的新概念,SQL Server 2005 跨資料庫中的檔案群組來分割資料表,卻是一項嶄新的功能。水平資料分割可根據資料分割配置,使資料表分割為較小的群組。資料表分割是針對從數百 GB 到 TB 或更大的非常大型資料庫而設計。

快照集隔離

資料經複製、轉換及保存到分析導向的資料庫中之後,就必須定期維護及 /或重建。使用者當然可因檢視交易一致的資料庫版本而獲益;不過,使用者所檢視之資料的版本卻已不再是最新的。建置資料及建立資料索引可能會花掉好幾個小 時,而且可能不是使用者真正需要的。這就是快照集隔離有用的地方。快照集隔離等級可讓使用者存取使用資料庫的交易一致檢視所認可的最後一個資料列。此種新 的隔離層級提供如下優點:

提高唯讀應用程式的 資料可用性。

在線上交易處理 (OLTP) 環境中允許非封鎖的讀取作業。

自動化寫入交易的強制 衝突偵測。

簡化從 Oracle 到 SQL Server 的應用程式移轉

複 寫監視器

「複寫監視器」工具具有直覺式的使用者介面及豐富的資料標準,使複雜的資料複寫管理作業更加簡化。

支援 64 位元系統 Itanium 2 及 x64

SQL Server (64 位元) 已針對 Intel Itanium 處理器最佳化,利用緩衝集區、快取及排序堆積等基本資源的進階記憶體定址功能,減少執行多個 I/O 作業以將資料從磁碟中帶進及帶出記憶體的需要。處理容量更大,卻沒有 I/O 延遲的負面效果,開啟了通往應用程式延展性新水準的大門。Windows Server 2003 x64 為相同系統上的 32 位元及 64 位元應用程式提供了高效能。其基礎架構是根據業界標準之 x86 指令集的 64 位元延伸模組,可使今日的 32 位元應用程式以原生方式執行於 x64 處理器。同時,新的 64 位元應用程式是以 64 位元模式執行,每個時脈週期可處理更多資料,對記憶體的存取能力更強,且可加速數值計算。實現了一個完全利用現有豐富的 32 位元應用程式之平台,同時也提供通往 64 位元運算之平順移轉路徑。

安全性

SQL Server 2005 顯著加強了資料庫平台的安全性模型,以便提供更精確及更有彈性的控制,使資料的安全性更加嚴密。我們已在許多功能作了可觀的投資,為企業資料打造高水準的 安全性,包括下列項目:

在驗證空間中強制執 行 SQL Server 登入密碼的原則。

能替授權空間的各種範圍更仔細地指定權限。

允許在安全性管理空 間中將擁有者與結構描述分開。

授權

SSQL Server 2005 提供新的安全性模型,可讓管理員以細微的層級及指定範圍來管理權限,簡化權限管理,同時確保維持最小權限原則。SQL Server 2005 可讓您指定於何種情境下執行模組中的陳述式,這項功能也可以作為細微權限管理的絕佳方法。

驗證

SQL Server 2005 叢集支援針對 SQL Server 2005 虛擬伺服器做 Kerberos 驗證。管理員可對標準登入指定 Microsoft Windows 樣式的原則,使網域中的所有帳戶都能套用一致的原則。

原生加密

SQL Server 2005 支援資料庫本身內部的加密功能,與金鑰管理基礎結構完全整合。依預設,用戶端/伺服器通訊會經過加密。若要集中安全性保證,可定義伺服器原則以拒絕未經加 密的通訊。

SQL Server 及高可信度電腦運算

Microsoft 的「高可信度電腦運算」行動提出了一個架構,定義支援更安全電腦運算的必要步驟,以及有助於部署及維護更安全環境的措施。這些步驟可在軟體生命週期的每一 個階段 (從設計、交付到維護),協助防護資料與系統的機密性、完整性及可用性。為了堅持高可信度電腦運算行動的四個原則,Microsoft 及 SQL Server 團隊已因應了下列問題:

設計安全:SQL Server 開發團隊進行了多次的安全性稽核,花了兩個月以上的時間研究 SQL Server 元件及元件之間的互動。該團隊針對每一個潛在的安全性威脅進行分析以評估問題,並完成了額外的設計與測試工作以消弭潛在的安全性問題。基於這些設計方面的 努力,SQL Server 2005 現在包括了許多伺服器安全性的新功能。


預設安全:SQL Server 2005 在安裝時會為所有安裝選項選擇一組正確的組態值,確保安裝新系統時,預設會處在安全的狀態中。


部署安全:Microsoft 建立了內容,協助組織使用適當的安全性認證部署 SQL Server,徹底瞭解所需的步驟及權限。SQL Server 部署工具提供了必要資訊,讓您瞭解部署期間所需做的決定。安全性更新更容易尋找及安裝,也可選擇自動安裝更新的選項。還有多種工具,可協助您評估及管理整 個組織的安全性風險。


開發人員生產力

SQL Server 2005 包括多項新技術,可顯著提升開發人員生產力。不管是支援 .NET Framework,或與 Visual Studio 的緊密整合,這些功能都有助於開發人員以更低的成本建立安全、強固的資料庫應用程式。SQL Server 2005 可讓開發人員利用各種開發語言的現有技術,同時提供資料庫的端對端開發環境。原生 XML 功能也讓開發人員可以建置跨任何平台或裝置之相連應用程式的新類別。

針對開發人員生產力推出的增強功能有:

擴充的語言支援

改善的開發工具

擴充性

改善的資料存取

XML 及 Web 服務

應用程式架構

擴充的語言支援

現在 Common Language Runtime (CLR) 已裝載於資料庫引擎中,開發人員可以從 Transact-SQL、Microsoft Visual Basic .NET 及 Microsoft Visual C# .NET 等各種熟悉的語言中挑選,來開發資料庫應用程式。另外,CLR 裝載提供開發人員更有彈性的自訂類型及函數。開發人員也可以藉著 CLR,使用非 Microsoft 程式碼快速開發資料庫應用程式。

CLR/.NET Framework 整合

隨著 SQL Server 2005 的發行,資料庫程式設計人員現在可以善加利用 Microsoft .NET Framework 類別庫及現代程式語言,在伺服器內實作功能性。運用 CLR 整合,您可以任選一種 .NET Framework 語言來編寫預存程序、函數和觸發程序。Microsoft Visual Basic .NET 和 C# 程式語言都有提供物件導向的建構函式、結構化例外處理、陣列、命名空間和類別。此外,.NET Framework 還提供上千種具備廣泛內建功能並在伺服器端輕鬆使用的類別和方法。許多在 Transact-SQL 中棘手或是難以執行的工作,都可使用 Managed 程式碼更順利地完成;另外還提供兩種全新的資料庫物件:彙總 (Aggregate) 和使用者自訂類型。您現在更能善用從撰寫同處理序 (In-Process) 程式碼所獲取的知識和技能。簡而言之,SQL Server 2005 可讓您擴充資料庫伺服器,進而在後端更輕鬆地執行適當的運算和操作。


SQL Server 和 CLR 之間的整合提供幾項重大的優勢:

增強的程式設計 模型:與 .NET Framework 相容的程式語言在許多方面都比 Transact-SQL 還要豐富,並為 SQL Server 開發人員提供過去所沒有的建構函式和功能。


提升的可靠性和安全性:Managed 程式碼是在由資料庫引擎所主控的 CLR 環境中執行。這讓 .NET Framework 資料庫物件比 SQL Server 舊版所提供的擴充預存程序更加可靠且安全。


使用者自訂類型和彙總:兩種全新的資料庫物件, 擴展了 SQL Server 藉由裝載 CLR 而具備的儲存和查詢能力。


通用開發環境: 資料庫開發已整合至 Microsoft Visual Studio 2005 的開發環境中。您可採用與撰寫中介層或用戶端層的 .NET Framework 元件和服務時所使用的相同工具,來開發和偵錯資料庫物件和指令碼。


效能和延展性: 由於 Managed 程式碼在執行之前會先編譯成機器碼,因此您可以在某些情況下達到大幅的效能提升。

您 可以藉由使用 Visual Basic .NET 和 C# 等語言,來運用 CLR 整合,撰寫邏輯較為複雜而且比較適合處理運算工作的程式碼。除此之外,Visual Basic .NET 和 C# 還提供物件導向的能力,如封裝、繼承和多型 (Polymorphism)。您可以輕易將相關的程式碼有系統地利用各種類別和命名空間來歸類,這表示您在處理大量程式碼時,可以更輕鬆地組織和維護您 撰寫的程式碼。這項依邏輯和實體的方式將程式碼組織成組件和命名空間的能力是一大優勢,更方便您在大型資料庫實作中找出各個不同的程式碼片段,並建立彼此 的關聯。

Managed 程式碼在處理數字和管理複雜的執行邏輯方面都比 Transact-SQL 更有效率,而且還具備對字串處理、規則運算式等等的廣泛支援。此外,加上 .NET Framework 類別庫中所提供的功能,您更能輕鬆地從任何預存程序、觸發程序或使用者自訂函數,完整存取上千種預先建立的類別和常式。所有從改進的字串處理函數、數學函 數、日期操作、存取系統資源、進階的加密演算法、檔案存取、影像處理和 XML 資料操作而來的一切,都可以輕易地從 Managed 預存程序、函數、觸發程序和彙總來存取。

Managed 程式碼其中一項主要的優點是型別安全 (Type Safety)。在執行 Managed 程式碼之前,CLR 會執行幾項檢查,透過稱為驗證的程序,來確保程式碼能夠安全地執行。例如,程式碼會經過檢查以確保未讀取的記憶體不會被寫入。

Transact-SQL 增強功能

Transact-SQL 一直以來都是 SQL Server 所有程式設計能力的基礎。SQL Server 2005 提供許多新的語言能力,用以開發可擴充的資料庫應用程式。這些增強功能包括錯誤處理、新的遞迴查詢能力,以及對新 SQL Server Database Engine 功能的支援。在 SQL Server 2005 中的 Transact-SQL 增強功能提昇了您撰寫查詢的表達能力,讓您改進程式碼的效能表現並增進錯誤管理的能力。在強化 Transact-SQL 不斷投入的努力展現了它在 SQL Server 當中扮演重要角色的堅定信念。

改善的開發工具

開發人員將可使用 Transact-SQL、XML、多維度運算式 (MDX) 及 XML for Analysis (XMLA) 的一項開發工具。與 Visual Studio 開發環境的整合,將提供更有效率之特定業務與商業智慧 (BI) 應用程式的開發及偵錯。

Business Intelligence Development Studio

Business Intelligence Development Studio 是依據 Visual Studio 來建置 BI 解決方案的通用開發環境,其中包括 Database Engine、Analysis Services 及 Reporting Services。使用 Business Intelligence Development Studio 圖形使用者介面 (GUI) 可設計資料管理應用程式的 SQL Server Integration Services (SSIS) 封裝。在 Business Intelligence Development Studio 中,SSIS 封裝的設計、開發及偵錯方式是從工具箱中拖曳工作、設定其屬性,並以優先順序條件約束連接工作。[圖 2] 顯示 Visual Studio 中的 Business Intelligence Development Studio 介面。

圖 2:Visual Studio 中的 Business Intelligence Development Studio 介面


Visual Studio 整合

SQL Server 2005 及 Visual Studio 2005 一起提供了前所未有的資料庫與應用程式開發環境之間的深層整合。開發人員現在可以直接從 Visual Studio 開發環境中建立 CLR 預存程序、函數、使用者自訂類型及使用者自訂彙總。他們可以直接從 Visual Studio 部署這些新的資料庫物件,而不需要切換工具。Visual Studio 2005 直接支援所有的 SQL Server 新資料類型,如原生 XML。您也可以將 CLR 資料庫物件加入對所有 Visual Studio 專案所用的相同原始檔控制系統,藉此提供開發程序更大程度的整合及安全性。

跨層及跨語言偵錯

SQL Server 2005 及 Visual Studio 2005 一起提供了應用程式偵錯方面的更深層整合。兩者的結合,可讓您使用相同的 Visual Studio 偵錯介面對 CLR 及 Transact-SQL 程式碼進行完善的偵錯,且可讓您從 CLR 到 Transact-SQL 及反向往復偵錯,無論程式碼是位於開發人員的電腦中或儲存於 SQL Server 資料庫中。

擴充性

使用者自訂 類型和彙總

SQL Server 2005 中的使用者自訂類型並非物件關聯式擴充性機制。它們是擴充資料庫之純量類型系統的一種方式。純量類型系統包括 SQL Server 內建的資料行類型 (int、nvarchar、uniqueidentifier 等類型)。有了使用者自訂類型,您可以定義您自己的類型,例如可用於資料行定義的類型。如果您的類型確實是不可部份完成的值,適合設定為資料行,則請建立 使用者自訂類型。

如果您需要定義您自己的純量類型,請利用使用者自訂類型。這種類型的範例案例包括各種行事曆中的自訂日期/時間資料類型, 以及貨幣資料類型。有了使用者自訂類型,您可以建立會公開類型所有可用行為的單一物件,並封裝或隱藏類型所儲存的基礎資料。需要存取資料的每個人都必須使 用使用者自訂類型程式設計介面。利用 .NET Framework 中現有的功能 (比如國際化或行事曆功能) 是考慮將您的類型實作為使用者自訂類型的另一個有力的理由。

在一些情況中,您可能需要對資料執行彙總。這包括執行統計計算,比如 avg、stddev 等等。如果想要的彙總函數不像內建彙總函數可獲得直接支援,有三種方法可在 SQL Server 2005 中執行自訂彙總:

將彙總撰寫為使用者自 訂彙總。

使用 CLR 預存程序撰寫彙總。

使用伺服器端資料指 標。

SQL Management Objects

SQL Management Objects (SMO) 是 SQL Server 2005 的管理物件模型。SMO 在 SQL Server 管理物件模型的設計和架構上呈現了顯著的改進。它依據 .NET Framework Managed 程式碼,是使用方便卻又豐富的物件模型。SMO 是使用 .NET Framework 來開發資料庫管理應用程式的主要工具。SMO 用於 SQL Server Management Studio 中的每個對話方塊,而且能在 SQL Server Management Studio 中執行的每個系統管理動作也都能使用 SMO 來完成。

全 新的 SMO 物件模型和 Microsoft Windows Management Instrumentation (WMI) 應用程式發展介面 (API) 取代了 SQL-DMO。SMO 在可能的情況下,會加入類似 SQL-DMO 的物件以方便使用。您仍然可以將 SQL Server 2005 和 SQL-DMO 搭配使用,但 SQL-DMO 並不會被更新來管理專屬於 SQL Server 2005 的功能。

分 析管理物件

分析管理物件 (AMO) 可讓用戶端應用程式使用可提供物件層級驗證功能的物件程式庫,存取 Analysis Services 可用的系統管理命令及功能範圍,而不用手動產生 Analysis Services 命令的 DDL 指令碼及 Analysis Services 指令碼語言 (ASSL) ObjectDefinition 元素的內容,該內容通常相當冗長。使用 AMO 的應用程式可連接並直接處理 Analysis Services 執行個體上的物件,或可在沒有現有連接的狀況下建立這類物件並保留中繼資料以供後續部署。AMO 也會「包裝」ASSL 命令及元素。

改 善的資料存取及 Web 服務

在 SQL Server 2005 中,您可以在資料庫層開發 XML Web Services,讓 SQL Server 成為一個 HTTP 接聽項。這為以 Web 服務為中心的應用程式提供了一種全新的資料存取能力。在 SQL Server 2005 中,您可以使用 HTTP 直接存取 SQL Server,而不需要使用像是 Microsoft Internet Information Services (IIS) 的中介層接聽項。SQL Server 會公開一種 Web 服務介面來執行 SQL 陳述式及叫用函數和程序。查詢結果會以 XML 格式傳回,並且可運用 Visual Studio Web 服務基礎結構。

ADO.NET 2.0/ADOMD.NET

在下一版的 ADO.NET 中有許多新功能。從對查詢變更通知的全新支援,到「多重作用結果集 (Multiple Active Result Sets,MARS)」,ADO.NET 使資料集的存取和操作更加進化,達成了更高的延展性和彈性。

查詢通知

SQL Server 2005 導入了對 SQL Server 查詢的通知支援。您可以利用這項支援傳送命令到 SQL Server,並要求:在相同的命令再次執行時,若所產生結果與最初取得的結果不同,即產生通知。您可以使用相依性物件來偵測基礎資料的變更而完成這個動 作。透過 ADO.NET、OLE DB、開放式資料庫連接 (Open Database Connectivity,ODBC)、Microsoft AciveX Data Objects (ADO) 或簡單物件存取通訊協定 (SOAP) 等任何用戶端 API 傳送到伺服器的命令,可能會包含要求通知的標記。針對要求中執行的每個陳述式,伺服器都會建立通知訂閱,為要求中所含的每個陳述式各引發一次。通知是透過 一個應用程式可輪詢的 SQL Service Broker 佇列來傳遞,並且使用啟動服務或封鎖陳述式隨時傳回每個通知。查詢通知對於啟用應用程式中的結果快取相當有用,例如資料庫驅動的網站。[圖 3] 顯示查詢通知程序。

圖 3:查詢通知

MARS

多 重作用結果集 (MARS) 提供方法讓每個連接可具有一個以上的擱置要求,特別是讓每個連接可具有一個以上的開啟預設結果集。預設結果集是順向 (Foward-Only)、唯讀的結果集。對於預設結果集,用戶端驅動程式會直接大量 (以表格式資料流緩衝區大小的區塊) 擷取資料,讓應用程式要求不需要往返伺服器 (如同在伺服器資料指標的案例) 就可以完成。應用程式可利用簡單的一次執行一列的程式撰寫模型,而不會損及效能。MARS 功能移除了目前的限制,其中開啟的預設結果集會封鎖驅動程式傳送要求給伺服器,直到整個結果集都耗盡。

資料鏡像的透明容錯移轉

SQL Server 2005 透過資料庫鏡像支援「熱備用」功能。如果 SQL Server 執行個體失敗,可將工作自動移轉至備份伺服器。這需要見證容錯移轉的執行個體,其名稱並不令人意外,稱為見證執行個體。現有的用戶端連接也必須「知道」該 容錯移轉 (與新伺服器執行個體建立連接),熱備用案例才能成立。次一等的方式是,用戶端連接在下一次嘗試存取時產生錯誤,而需由用戶端程式設計方式手動進行「容錯 移轉」。ADO.NET 2.0 中的 SqlClient 支援用戶端容錯移轉,不需要特殊的應用程式設計。

XML 支援

原 生 XML 資料類型及 XQuery 等進階功能可協助組織緊密連接內部系統與外部系統。SQL Server 2005 以原生方式支援關聯式資料及 XML 資料,因此企業可以最符合其需要的格式來儲存、管理及分析資料。對超文字傳輸協定 (HTTP)、XML、簡單物件存取通訊協定 (SOAP)、XQuery 及 XML 結構描述定義語言 (XSD) 等現有及新興開放標準的支援,也促進了跨越擴充企業系統的通訊。

XML 資料類型

XML 可製作複雜資料的模型;它不受限於 SQL Server 所支援的純量類型。就其本身而言,char 或 varchar 等內建的字串型資料類型,並不足以完整有效地利用 XML 的威力與優勢。例如,如果將 XML 存成字串,您可以插入或選取整個文件,或甚至從中擷取相鄰的位元組,但卻無法查詢文件本身的內容。透過提供 XML 資料類型,SQL Server 2005 可讓您查詢 XML 文件的部份、驗證該文件是否與 XML 結構描述相符,甚至就地修改 XML 文件的內容。它還以在 SQL Server 2000 完全不可能做到的方式,將傳統的關聯式資料與未結構化或半結構化 XML 文件中的資料相整合。在 SQL Server 2005 中,XML 資料是存成二進位大型物件 (BLOB),用一種允許有效重新剖析和部份壓縮的內部表示。

XML 結構描述的集合可與類型為 XML 的資料行相關聯。這提供在儲存的 XML 資料內之條件約束、插入和更新,以及數值類型的驗證,並提供儲存和查詢處理的最佳化。SQL Server 2005 也提供數種 DDL 陳述式,用以管理伺服器上的結構描述。

XQuery

XML 查詢語言 (XML Query Language),或稱為 XQuery,是針對查詢所有類型的 XML 資料做過最佳化的一種智慧且強大的語言。透過 XQuery,您可以使用 XML 資料類型之資料行的關聯方法,針對 XML 資料類型之變數及資料行執行查詢。就跟許多 XML 標準一樣,XQuery 的發展是由全球資訊網協會 (W3C) 所監督。XQuery 是從一種稱作 Quilt 的查詢語言發展而來,該語言本身是以 XML 路徑語言 (XPath) 1.0 版、XML 查詢語言 (XQL) 和 SQL 等各種其他查詢語言為基礎。它也包含 XPath 2.0 版作為子集。因此,如果您曾經使用過 XPath 1.0,便可運用您現有的技能而無須學習一套完全陌生的查詢語言。其實明顯的增強之處不止 XPath 1.0,還包括類型化、特殊函數,以及對更完善的反覆運算、結果排序和建構函式等的支援。

SQL Server 2005 隨附深入的 XQuery 功能,允許 XML 物件在資料層做操作。它支援在 2003 年 11 月 15 日發行的 XQuery 1.0 Working Draft 中的靜態類型化子集。

Web 服務支援

在 SQL Server 2005 中,您可以在資料庫層開發 XML Web Services,讓 SQL Server 成為一個 HTTP 接聽項。這為以 Web 服務為中心的應用程式提供了一種全新的資料存取能力。在 SQL Server 2005 中,您可以使用 HTTP 直接存取 SQL Server,而不需要使用像是 Microsoft Internet Information Services (IIS) 的中介層接聽項。SQL Server 會公開一種 Web 服務介面來執行 SQL 陳述式及叫用函數和程序。查詢結果會以 XML 格式傳回,並且可運用 Visual Studio Web 服務基礎結構。

XML for Analysis Services

XML for Analysis Services (XMLA) 是用來和 Analysis Services 伺服器通訊之原生、根據標準的通訊協定。新的應用程式種類會獲得啟用並易於開發—即時整合分析與作業的應用程式。有了作為原生通訊協定的 XMLA,Analysis Services 用戶端可設定為具有零覆蓋區,且每個伺服器都會自動成為 Web 服務。為了與在 OLE DB for OLAP、ADOMD 及 ADOMD.NET 上使用 Analysis Services 2000 的工具間之回溯相容性,提供了輕覆蓋區的 Win32 層。許多使用者將繼續使用 ADOMD.NET 物件模型,在 Analysis Services 上建置自訂應用程式。

應 用程式架構

SQL Server 2005 導入了新的 SQL Server 應用程式架構,其中包括 Service Broker、Notification Services、SQL Server Mobile 及 SQL Server Express。Service Broker 是一套分散式應用程式架構,提供資料庫對資料庫層級的可靠非同步訊息傳送。

Service Broker

在過去 10 年以來,電子商務應用程式的激增創造了資料庫應用程式間更高的工作流程管理需要。當線上客戶下訂單購買書籍時,此訂單需要將交易送經庫存、送貨、信用卡系 統進行認可,且需要使用另一個 Web 應用程式來傳送訂單確認。等候每個程序依序發生並無法進行妥善調整。SQL Server 2005 提供一套全新可調整的架構來建立非同步的訊息路由。[圖 4] 概述 Service Broker 架構。

圖 4:Service Broker 架構

Service Broker 技術允許內外部處理序使用標準 Transact-SQL 資料操作語言的擴充來傳送和接收可靠的非同步訊息。這些訊息會送到與傳送者相同資料庫中的佇列、送到相同 SQL Server 執行個體的其他資料庫,或送到在相同伺服器或遠端伺服器上的其他 SQL Server 執行個體。

Microsoft SQL Server Notification Services 是一種用來開發和部署會產生和傳送通知給使用者之應用程式的平台。通知是可適時傳給各種裝置的個人化訊息。

通知反映了訂閱者的喜好設定。訂 閱者輸入訂閱以表達對資訊的興趣,比如「當 Adventure Works 的股價到達 $70.00 時通知我」,或「當敝組正在編寫的策略文件更新時通知我」。

通知可以在觸發事件發生的同時馬上產生並傳給使用者,也可以根據使用者預先決定 的排程產生並送出。使用者的訂閱會指定應該何時產生並傳送通知。

您可將通知傳到各種裝置,例如使用者的行動電話、個人數位助理 (PDA)、Microsoft Windows Messenger,或是電子郵件帳號。由於這些裝置經常伴隨使用者,因此通知非常適合傳送高優先順序的資訊。

SQL Server Mobile Edition

SQL Server 2000 附隨有 SQL Server 2000 Windows CE Edition,此現稱為 SQL Server Mobile Edition 3.0 版。SQL Server Mobile Edition 中有許多與開發人員相關的重要新功能:

您可以直接從 SQL Server Management Studio 在桌上型電腦上或裝置上建立 SQL Server Mobile Edition 資料庫。您也可以直接從 Management Studio 操作 SQL Server Mobile Edition 資料庫的結構描述,而不管資料庫是常駐在行動裝置或桌上型電腦上。您可以使用 SQL Server Management Studio,將裝置或桌上型電腦上的 SQL Server Mobile Edition 資料庫作為目標來執行查詢。您也可以利用 SQL Server Mobile Edition 的新功能,其中包含跟原生 SQL Server 一樣以圖形使用者介面格式轉譯的 XML 顯示計劃,以及使用查詢提示覆寫 SQL Server Mobile Edition 中查詢最佳化工具的能力。這是您第一次能夠在裝置上控制最佳化計劃。

您現在可以用 SQL Server Integration Services (SSIS) 物件編寫程式碼來交換資料。

新的 SqlCeResult 集合是衍生自 SQL Server 2005 中的 SQLResult 集合。這允許 SQL Server Mobile Edition 擁有真實、可捲動、可更新的資料指標。它允許與裝置上的資料物件相繫結。

您現在可以編寫應用程 式來同步處理資料,同時讓主應用程式保持開啟狀態,並可讓兩個不同的應用程式同時存取裝置上相同的資料庫。

您可以將程式碼加入狀 態列中來提供同步處理狀態,以獲得通知。在過去,完全無法得知同步處理進度以通知使用者,裝置並未停止回應。

您可以透過更加積極 的頁面再利用原則來將資料庫維持在很小。

您可以使用 SQL Server 語法來共用參數化的查詢程式碼。

SQL Server Express

開發人員比以往更加充分利用關聯式資料庫以提供豐富的使用者經驗。這些應用程式內部資訊的防護與管理非常 重要。Microsoft SQL Server Express 提供免費、易於使用且強固的資料庫,可協助開發人員建置強固可靠的應用程式。資料庫系統往往過於複雜而不適合建置簡單的應用程式。Microsoft Visual Studio 2005 及 SQL Server Express 提供簡單卻又功能強大的開發環境,適合建置資料驅動的應用程式,從而降低了這種複雜度。開發人員可以完全在 Visual Studio 2005 環境內部設計結構描述、新增資料及查詢本機資料庫。如果開發人員需要更多進階資料庫功能,則可將 SQL Server Express 妥善升級成更高級的 SQL Server 版本。[圖 5] 顯示 SQL Server Express Manager 中的查詢編輯器介面。

圖 5:SQL Server Express Manager 中的查詢編輯器

一個稱為 SQL Server Express Manager (XM) 的新圖形使用者介面工具可單獨從 Web 下載,免費取得。XM 可進行簡單的資料庫管理及查詢分析功能,下載大小不大,且可自由轉散發。XM 支援與 SQL Server Express 及其他 SQL Server 2005 版本、SQL Server 2000 及 MSDE 2000 的連接。簡化的連接對話方塊會導引使用者依序進行選取執行個體及要使用的驗證方法。使用 XM 可以進行本機連接與遠端連接。物件總管會以階層方式列舉及顯示所使用的通用物件 (如執行個體、資料表、預存程序等),協助使用者以視覺化的方式呈現對資料庫的存取。

所有資料庫管理功能都可透過叫用物件總管中的滑鼠右鍵 內容功能表來使用。要公開的部份資料庫管理選項包括建立及修改資料庫、資料表、登入及使用者。這些常用資料庫作業中有許多會以導引使用者依序進行的工作精 靈來提供,還有許多是以索引標籤式視窗文件來提供。例如,XM 提供「新增/編輯資料庫」文件,用以建立新資料庫及編輯現有的資料庫。

許多 資料庫使用者偏好使用 Transact-SQL 來管理他們的伺服器,因為這個方法能提供比使用圖形使用者介面更精密的控制。XM 中的查詢編輯器可讓使用者開發及執行 Transact-SQL 陳述式與指令碼。查詢編輯器具有豐富的功能,如關鍵字色彩編碼及會以資料方格傳回結果的結果窗格。若有錯誤訊息的話,也會顯示在結果窗格中。

商業智慧

SQL Server 2005 透過在延展性、資料整合、開發工具及豐富分析方面的創新,更加提高了 Microsoft 在商業智慧 (BI) 領域的領導地位。SQL Server 2005 將重要資訊及時交到貴公司員工的手中,使您獲得具延展性的 BI 能力。從 CEO 到資訊工作者,員工將可迅速輕易掌控資料,更快做出更好的決策。SQL Server 2005 全面的整合、分析及報表功能,不管基礎的平台為何,都可使企業擴充其現有應用程式的價值。BI 功能包括下列幾個方面的增強功能:

端對端整合性商業智慧 平台

Integration Services

Analysis Services

Reporting Services

與 Microsoft Office System 的整合

端對端整合性商業智慧平 台

SQL Server 2005 是完整的 BI 平台,它所提供的特徵、工具及功能可用於建置舊型與新型的分析應用程式。下列資訊介紹可用來建置分析應用程式的工具,並強調使建置與管理複雜 BI 系統比以往更容易的新功能。

SQL Server 2005 BI 工具集提供端對端 BI 應用程式整合:

設計:Business Intelligence Development Studio 是第一個為 BI 開發人員設計的整合式開發環境。Business Intelligence Development Studio 建置於 Visual Studio 2005 之上,為 BI 系統開發人員提供了豐富、整合、專業的開發平台。BI 平台的所有元件都可使用偵錯、原始檔控制及指令碼與程式碼開發。

整合:SQL Server Integration Services (SSIS) 已重寫,可以高速對極大資料量執行複雜的資料整合、轉換及合成。Business Intelligence Development Studio 使封裝的建置與偵錯變成有趣的工作。Integration Services、Analysis Services 及 Reporting Services 協同合作,可呈現來自異質來源之資料的緊密檢視。

分析:Microsoft 資料採擷一直以來都很容易使用。現在加入了關聯規則、時間序列、迴歸樹、時序群集、類神經網路及貝氏機率分類等重要的新演算法,而變得更加完善。SQL Server 2005 模糊了關聯式資料庫與多維度資料庫間的界線。您可以將資料儲存於關聯式資料庫、多維度資料庫,或使用新的主動式快取功能以超越兩者。Analysis Services Cube 中也加入了重要的新分析功能;這些功能包括關鍵效能指標 (KPI) 架構、MDX 指令碼及其他內建的進階商務分析。Reporting Services 報表傳遞及管理架構使得將複雜分析散發給廣大的可能對象變得簡單。

報表:Reporting Services 將 Microsoft BI 平台擴及需要使用分析的商務使用者。Reporting Services 是企業管理的報表環境,透過 Web 服務進行內嵌及管理。報表可使用各種互動及列印選項,以各種格式進行個人化與傳遞。複雜的分析可以透過散發作為下游 BI 資料來源的報表,到達廣大的對象。報表工具「報表產生器」是SQL Server 2005 的新功能。

管理:SQL Server Management Studio 整合了所有 SQL Server 2005 元件的管理。BI 從事人員可由您所預期從關聯式引擎到整套 BI 平台元件的這項伺服器能力延伸 (延展性、可靠性、可用性、可程式性等) 得到好處。

Integration Services

SQL Server 2005 包括重新設計的企業資料擷取、轉換及載入 (ETL) 平台,稱為 SQL Server Integration Services (SSIS)。SSIS 可讓組織更容易整合及分析來自多個異質資訊來源的資料。組織可藉由跨操作系統陣列來分析資料,透過對其業務的全盤瞭解取得競爭優勢。

企業 ETL 平台

這個新平台是 SQL Server 2000 中稱為 Data Transformation Services (DTS) 之常用功能的後繼者。SSIS 是 SQL Server 2005 的全新功能。SSIS 提供建置企業級 ETL 應用程式所需的各種功能與高效能。SSIS 完全可程式設計、可內嵌且可延伸,這些是使其成為理想 ETL 平台的特徵。

超越傳統 ETL

SQL Server 2005 以下列方式立即支援非傳統資料 (Web 服務、XML):

SSIS 將分析帶至資料而不用保留資料。

資料採擷及文字採礦可在資料流程中完成。

為了資料品質及資料清 理,資料流程中帶入了資料採擷及分析。

Analysis Services

SQL Server 2005 的 Analysis Services 首度提供了所有業務資料的統一整合檢視,作為傳統報表、線上分析處理 (OLAP) 分析及資料採擷的基礎。

Unified Dimensional Model

Analysis Services 結合傳統 OLAP 分析及關聯式報表的優點,提供涵蓋兩組需求的中繼資料模型。Analysis Services 中定義的一組 Cube 及維度稱為 Unified Dimensional Model (UDM)。UDM 是中央的中繼資料儲存機制,它會定義作為所有報表、試算表、OLAP 瀏覽器、KPI 及分析應用程式來源的商務實體、商務邏輯、計算及標準。

UDM 使用強大的資料來源檢視新功能,會對應至異質後端的資料來源主機,無論資料位於何處,都可提供完整而整合的業務全貌。

有了 UDM 的商務實體易記描述、導覽階層、多個檢視方塊,以及甚至原生語言的自動轉譯,使用者將發現瀏覽企業商務資料是件簡單的事。

資料採擷

SQL Server 2005 資料採擷是 BI 技術,此技術可協助您建置複雜的分析模型,以及將這些模型與您的業務營運整合。Analysis Services 為資料採擷建立了新的基準。Analysis Services 資料採擷功能建立了容易使用、可延伸、可存取及彈性的平台,藉此將資料採擷導入先前絕不會考慮資料採擷解決方案的組織。

透過企業級的架構、 與 SQL Server 家族 BI 工具的深入整合及一套豐富的其他工具、API 及演算法,SQL Server 提供針對各種商務問題的自訂資料驅動解決方案,藉此可建立提升生產力、增加利潤並降低成本的新智慧型應用程式。

Reporting Services

Reporting Services 將 Microsoft BI 平台擴及需要存取商務資料的資訊工作者。Reporting Services 是透過 Web 服務管理的伺服器端企業報表環境。報表可使用各種互動及列印選項,以各種格式傳遞。複雜的分析可以透過作為下游 BI 資料來源之報表的散發,到達廣大的對象。

作為 SQL Server 2005 整合元件,Reporting Services 提供下列功能:

處理及格式化報表的 高效能引擎。

一套完整的工具,用以建立、管理和檢視報告。

可延伸的架構和開放介 面,用於各種 IT 環境中嵌入報告或整合報表方案。

關聯式報表及 OLAP 報表

建置於關聯式資料之上的報表相當有用,但加入額外分析功能的能力可使這類報表更具威力。Reporting Services 可讓您輕易以合併或獨立方式建置報表。SQL Server 2005 支援關聯式資料及 OLAP 資料,提供兩者的查詢編輯器,包括 SQL 查詢編輯器及 MDX 查詢編輯器。

報表產生器

報表產生器是 SQL Server 2005 Reporting Services 的 新元件,它可讓商務使用者使用其資料的易用模型,建立自己的報表。報表產生器利用 Reporting Services 平台,將特定報表帶給所有使用者。使用者可利用報表產生器用戶端應用程式建立及編輯報表。報表產生器使用者介面是建置於 Microsoft Excel 及 Microsoft PowerPoint 等熟悉的 Microsoft Office 模式之上。[圖 6] 顯示報表產生器的範例報表。

圖 6:使用報表產生器設計報表

報 表產生器是透過瀏覽器部署的 ClickOnce 應用程式。使用者由選取包含預先定義之資料區段 (如資料表、矩陣及圖表) 的報表配置範本開始。他們將報表項目從模型拖放到設計介面,並設定條件約束以篩選報表資料。模型包含報表產生器自動產生來源查詢及擷取要求資料所需的全部 資訊。報表產生器也讓使用者能夠:

在報表中加入文字及 格式。

建立使用模型所定義的新欄位及計算。

預覽、列印及發行報 表。

將報表資料匯出至 Microsoft Excel 等格式。

與 Microsoft Office System 的整合

Reporting Services 中的報表伺服器所提供的報表可以在 Microsoft SharePoint Portal Server 及 Microsoft Office System 應用程式 (如 Microsoft Word 及 Microsoft Excel) 的內容中執行。您可以使用 SharePoint 功能訂閱報表、建立新版報表及散發報表。您也可以在 Word 或 Excel 中開啟報表以檢視 HTML 版本的報表。


升級至 SQL Server 2005

下面是升級至 SQL Server 2005 的一些提示:

從 SQL Server 7.0 或 SQL Server 2000 升級至 SQL Server 2005。

升級前先執行 Upgrade Advisor 以判斷是否預期有任何產品變更會破壞現有的應用程式。

SQL Server Database Engine、Analysis Services 及 Reporting Services 可以由安裝程式升級。

取代 Data Transformation Services (DTS) 的 SQL Server Integration Services,會與 DTS 並行安裝。您可以使用 DTS 執行階段元件執行 DTS 封裝。

SQL Server 2005 Notification Services 會與 Notification Services 2.0 並行安裝。升級 SQL Server Database Engine 時,必須將 Notification Services 的執行個體移轉至 SQL Server 2005。

升級之後請使用介面 區組態工具,以啟用或停用 SQL Server 2005 服務、網路通訊協定及功能。

SQL Server 售價與授權

SQL Server 版本家族在一個產品中包含了您於全面、立即可用的資料儲存、管理、分析及報表平台所需的一切,其彈性授權可讓您選擇最符合您獨有需求的方案。

SQL Server 設計針對的規模大至最大型的企業,小到最小型的企業,將相同的效能、安全性、可靠性及商務價值提供給所有的客戶。從多個 TB 的資料倉儲到執行 SQL Server Windows Mobile Edition 的 Pocket PC 裝置,都屬 SQL Server 支援的實作範圍。

下表概述各版 SQL Server 2005 產品線的售價及優點。

注意:粗體表示功能是 SQL Server 2005 的新功能。後面的每個版本包含與其前面版本相同的功能。所有價格都是以美元表示,反映了在美國的售價。

售價與授權
版本售價優點大小主要功能

Express

免費

學習、建置及部署簡單資料驅動應 用程式最快速的方式。

1 個 CPU
1 GB RAM
4 GB 資料庫大小

4 GB 資料庫大小
簡單報表
複寫及 SSB 用戶端

Workgroup

每個處理器 $3,900
$739 (伺服器 + 5 個使用者)

是較小部門及成長中企業最划算及最容易使用的資料庫方案。

1 或 2 個 CPU
3 GB RAM

Management Studio
匯入/匯出
有限的複寫發行
叢集
備份記 錄傳送

標準版

每個處理器 $6,000
$2,799 (伺服器 + 10 個使用者)

適合中型企業及較大型部門的完整資料管理及分 析平台。

1 到 4 個 CPU
無限制的 RAM

資料庫鏡像
基本 ETL
含 Analysis Services 的標準 OLAP 伺服器
含 Reporting Services 的標準報表
資料採擷
完整的複寫及 SSB 發行
提供 32 位元版及 64 位元版
支援 Itanium 2 及 x64

企業版

每個處理器 $25,000
$13,500 (伺服器 + 25 個使用者)

重要商務企業應用程式的完全整合資料管理及分析平台。

無限制的規模及資料分割

進階資料庫鏡像、完整的線上與平行 作業及資料庫快照集
進階分析工具,包括完整的 OLAP 及資料採擷
含自訂、高規模及特定報表的進階報表
含複雜資料路由 及轉換功能的進階 ETL
提供 32 位元版及 64 位元版
支援 Itanium 2 及 x64