SQL Server 2005新特性
在當今的互聯世界中,數據和管理數據的系統必須始終為用戶可用且能夠確保安全,有了SQL Server 2005,組織內的用戶和IT專家將從減少應用程序宕機時間、提高可伸縮性及性能、更緊密的安全控制中獲益。SQL Server 2005 也包括了很多新的和改進的功能來幫助企業的IT團隊更有效率的工作。SQL Server 2005 包括了幾個在企業級數據管理中關鍵的增強:
易管理
可用性
可伸縮性
安全性
1、易管理
SQL Server 2005 能夠更為簡單的部署、管理和優化企業數據和分析應用程序。作為一個企業數據管理平臺,SQL Server 2005提供了一個唯一的管理控制臺,使得數據管理人員能夠在組織內的任何地方監視、管理和調諧企業中所有的數據庫和相關的服務。它還提供了一個可擴展的管理架構,可以更容易的用SQL管理對象(SMO)來編程,使得用戶可以定制和擴展他們的管理環境,獨立軟件開發商(ISV)也能夠創建附加的工具和功能來更好的擴展應用。
SQL Server 管理工具集
SQL Server 2005 通過提供一個集成的管理控制臺來管理和監視SQL Server關系型數據庫、集成服務、分析服務、報表服務、通知服務、以及分布式服務器和數據庫上的SQL Mobile,從而大大簡化了管理的復雜度。數據庫管理員可用同時執行如下任務:編寫和執行查詢,查看服務器對象,管理對象,監視系統活動,查看在線幫助。SQL Server 管理工具集包括一個使用T-SQL、MDX、XMLA和SQL Server Mobile版等來完成編寫、編輯和管理腳本、存儲過程的開發環境。管理工具集很容易和源碼控制相集成,同時,管理工具集也包括一些工具可用來調度SQL Server Agent 作業和管理維護計劃以自動化每日的維護和操作任務。管理和腳本編寫集成在單一工具中,同時,該工具具有管理所有類型的服務器對象的能力,為數據庫管理員們提供了更強的生產力。
主動性能監視和性能調諧
SQL Server 2005 開放了70多個新的內部數據庫性能和資源使用的指標,包手內存、鎖、到對交易、網絡和磁盤I/O的調度等。新的動態管理視圖(DMV)提供了對數據庫和強大的基礎架構的更大的透明度和可見性,可以實現主動監視數據庫的健康和性能。
SQL 管理對象
SQL 管理對象 (SMO) 是一個新的可編程對象集,它可實現所有SQL Server數據庫的管理功能。事實上,管理工具集就是構建在SMO之上的。SMO 是Microsoft .NET Framework assembly. 你可以使用SMO來自動化常用的SQL Server管理任務,如編程檢索配置設置,創建新的數據庫,應用T-SQL腳本,創建SQL Server Agent 作業,以及調度備份等。SMO 對象模型比以前SQL Server版本中的DMO更加安全、可靠并具有更高的可伸縮性。
2、可用性
在高可用技術、額外的備份和恢復功能,以及復制增強上的投資使企業能夠構建和部署高可用的應用系統。SQL Server 2005在高可用上的創新有:數據鏡像,故障轉移集群,數據庫快照和增強的聯機操作,這有助于最小化宕機時間和確保企業的關鍵系統可用。下面我們將更為詳細的介紹這些增強特性。
數據庫鏡像
數據庫鏡像允許事務日志以連續的方式從源服務器傳遞到單臺目標服務器上。當主系統出現故障時,應用程序可以立即重新連接到輔助服務器上的數據庫。輔助實例幾秒鐘內即可檢測到主服務器發生了故障,并能立即接受數據庫連接。數據庫鏡像工作在標準服務器硬件下,不需要特定的存儲或控制器。圖2顯示了數據庫鏡像的基本配置。
圖 2: 數據庫鏡像的基本配置
故障轉移集群
故障轉移集群是一個高可用解決方案,它使用Microsoft Windows® Clustering Services 創建容錯虛擬服務器,一旦數據庫服務器宕機,便可提供快速故障轉移。在SQL Server 2005中, SQL Server 分析服務,通知服務,與SQL Server復制現在都已支持故障轉移集群。集群節點的最大數量也增加到8個,SQL Server 故障轉移集群現已是一個完整的容錯服務器解決方案。
高可用特性 | 數據庫鏡像 | 故障轉移集群 |
自動故障轉移 | Yes | Yes |
客戶端透明重定向 | Yes, 自動重定向 | Yes, 重定向到同一個IP |
對吞吐量的影響 | 極小 | 沒有影響 |
零工作丟失 | Yes | Yes |
要求特定硬件 | No | Yes |
提供冗余數據 | Yes | No |
數據庫快照
SQL Server 2005 所引入的這一功能使數據庫管理員可以生成數據庫的穩定的只讀視圖。數據庫快照提供了一個穩定的視圖,而不必花時間或存儲開銷來創建數據庫的完整副本。由于主數據庫背離了快照,快照將在原始頁被更改時自行獲取有關副本。快照可被用于快速恢復數據庫的意外更改,只要通過對主數據庫重新應用來自快照的頁就能實現。
快速恢復
SQL Server 2005通過一個新的快速恢復選項提高了 SQL Server 數據庫的可用性。在事務日志前滾之后,用戶可以重新連接到恢復數據庫。SQL Server早期版本要求即便用戶無需訪問數據庫中受影響的部分,也需等到不完整的事務回滾之后才能進行重新連接。
專用的管理員連接
SQL Server 2005 引入了一個專用的管理員連接來訪問正在運行的服務器,即便該服務器沒有響應或不可用。這樣,用戶就可以執行診斷功能或 Transact-SQL 語句,以便對服務器進行故障診斷。該連接需通過 sysadmin 固定服務器角色的成員來激活,并僅通過 SQLCMD 命令提示符實用工具在本地或從遠程計算機才能加以調用。
聯機操作 (索引操作和恢復)
聯機創建、重建或刪除索引的功能是 SQL Server 2005的一個增強功能。SQL Server 2005 加強了 SQL Server 早期版本的索引功能。聯機索引選項允許在執行索引數據定義語言 (DDL) 時,對基礎表或聚集索引數據以及任何關聯的索引進行并發修改(更新、刪除和插入)。例如,當某個聚集索引正在重建時,可以繼續更新基礎數據并對這些數據執行查詢。有了對聯機索引操作的支持,用戶可以在不干預對表或其他現有索引的訪問的情況下添加索引。此外,服務器工作負荷允許索引操作充分利用并行處理的高效性。
SQL Server 2005 引入聯機恢復功能以便在 SQL Server 實例運行時執行還原操作。聯機還原功能提高了 SQL Server 的可用性,因為只有被還原的數據不可用。數據庫的其他部分仍保持聯機且可用。SQL Server 的早期版本要求用戶在執行還原操作之前讓數據庫脫機。
復制
復制通過為多個數據庫分發數據來提高數據的可用性。通過允許應用程序在數據庫間外擴scale out SQL Server讀負載,從而提高了可用性。通過使用一個新的點對點模型,SQL Server 2005增強了復制功能。這個新模型提供了一個新拓撲結構,使數據庫可以與任何同級數據庫進行事務同步。
3、可伸縮性
提供了諸如表分區、快照隔離、64位支持等方面的高級可伸縮性功能,使你能夠使用SQL Server 2005構建和部署最關鍵的應用。表和索引的分區功能顯著的增強了對大型數據庫的查詢性能。
表和索引分區
表和索引分區把數據庫分成更小、更易管理的塊,從而簡化了大型數據庫的管理。對數據庫世界而言,在表、數據庫和服務器之間的數據分區已不是一個新的概念,SQL Server 2005 提供了在數據庫的文件組之間表分區的功能,水平分區允許把表按分區scheme分為多個小的組。表分區用于非常大的,從幾百GB到TB、甚至更大的數據庫。
快照隔離
一旦數據被拷貝、轉換和歸檔到一個面向分析的數據庫,它必須被周期性的維護和重建。用戶所看到的數據庫版本是事務一致性的,然而,數據的版本不再是當前的。快照隔離級別通過使用一個數據庫的事務一致視圖來允許用戶訪問最后被提交的行,新的隔離級別提供了如下優點:
為只讀應用程序增加數據可用性。
允許在OLTP環境對讀操作不加鎖。
對寫事務自動進行強制沖突檢測。簡化應用程序從Oracle移植到SQL Server復雜度。
復制監視工具
復制監視工具在管理復雜數據復制操作的易用性方面建立了新的標準,它提供了直觀的用戶界面和大量的數據指標。
對 64-Bit 系統 Itanium2 和 x64 的支持
SQL Server (64-bit)特別為 Intel Itanium processor進行過優化,因此它可以為一些基本資源如緩沖池、緩存、排序堆等利用高級內存尋址功能,從而減少密集I/O操作造成的數據在內存和磁盤之間交換。更大的處理能力也使應用程序的可伸縮性達到一個新的層次。
Windows Server™ 2003 x64 為同一個系統上的32-bit 和 64-bit 應用提供了很高的性能。基于 64-bit 基礎架構擴展了x86指令集,允許現在的32-bit應用自然的運行在x64處理器上。同時,新的執行在64-bit模式下的64-bit應用每個時鐘周期可以處理更多數據,允許對內存的更多訪問,更快的數字計算。最終結果是它提升了現存的大量32-bit應用程序的同時,也提供了一個平滑遷移到64-bit計算的途徑。
4、安全性
SQL Server 2005 在數據庫平臺的安全模型上有了顯著的增強,由于提供了更為精確和靈活的控制,數據安全更為嚴格。為了給企業數據提供更高級別的安全,微軟做了相當多的投資,實現了很多特性:
在認證空間里強制SQL Server login密碼策略
在認證空間里可根據不同的范圍上指定的權限來提供更細的粒度
在安全管理空間中允許分離所有者和模式(schema)
授權
一個SQL Server 2005中新的安全模型允許管理員在某個粒度等級上和某個指定范圍內管理權限,這樣,管理權限更加容易并且權限最低原則得到遵循。SQL Server 2005允許為一個模塊中語句的執行指定上下文。這個功能同時也在細化權限管理時起了很重要的作用。
認證
SQL Server 2005集群支持針對SQL Server 2005虛擬服務器的Kerberos身份驗證。管理員能夠對標準登錄帳號指定和Windows類型的策略,這樣,同一個策略就能應用到域中所有的帳號上了。
本機加密
SQL Server 2005本身就具有加密功能,它完全集成了一個密鑰管理架構。默認情況下,客戶端/服務器之間的通訊是被加密的。為了保證安全,服務器端策略可定義為拒絕不加密的通訊。
SQL 可信賴計算
“可信賴計算計劃”詳細描述了支持安全計算的必要步驟和部署及維護一個安全環境的有益措施。這些步驟能在軟件生命周期的每一階段——從設計、發布到維護,保護您的系統和數據的機密性、完整性和可用性。為了遵循可信賴計算的4個原則,微軟和SQL Server團隊采取以下步驟:
設計安全。SQL Server開發團隊進行了多次安全審計,花了超過兩個月的時間徹底研究了SQL Server各個組件以及它們之間的關聯性。對每一個潛在的安全威脅,開發人員都會做一個威脅模型分析進行評估,再針對它做相應的設計和測試工作以完全消除隱患。正是由于這樣的工作,SQL Server 2005將會包括許多新的安全特性。
默認安全。在安裝SQL Server 2005時,安裝程序將會為每個安裝選項選擇恰當的配置,使得一個新的系統安裝結束時,默認處于一個安全的狀態。
部署安全。微軟將提供相應的技術資源來指導用戶在部署SQL Server時使用正確的安全憑證,幫助用戶充分理解必需的步驟和權限。對于如何理解在安裝過程中所需要做出的決策,SQL Server部署工具將提供必要的信息。另外,如果您選擇了相應的選項,安全更新功能將會自動安裝。如果您不得不面對跨機構的分布式環境,也有相應的工具能幫助您評估和管理這其中的安全風險。
二、開發者的能力
SQL Server 2005 包含了多個能顯著提高開發者能力的新技術。從支持.NET Framework 到和Visual Studio?的緊密集成,這些新特性使開發人員能夠以更低的成本,更容易地創建安全、強大的數據庫應用程序。SQL Server 2005 提供了一個端到端的數據庫開發環境,使開發人員能夠更有效的利用其已有的開發技能。本機XML功能也使開發人員能夠創建運行在不同平臺或設備上的新型應用程序。
開發人員能力的增強包括:
擴展的語言支持
改進的開發工具
可擴展能力
改進的數據訪問
XML 和 Web services
應用程序Framework
1、擴展的語言支持
因為通用語言運行時(CLR)被集成在數據庫引擎中,所以開發人員現在可以利用多種他們熟悉的語言來開放數據庫應用程序,包括: Transact-SQL, Microsoft Visual Basic? .NET, Microsoft Visual C#? .NET。此外,通過使用用戶定義類型和函數,CLR集成也為開發人員提供了更多的靈活性。 CLR 為快速數據庫應用開放提供了使用第三方代碼的選擇。
CLR/.NET Framework 集成
隨著Microsoft SQL Server 2005的發布,數據庫編程人員現在可以充分利用Microsoft .NET Framework 類庫和現代編程語言來開發數據庫應用。 通過集成的CLR,你可以用.NET Framework language 里的Visual Basic .NET 和C#中的面向對象的結構、結構化的錯誤處理、數組、名字空間和類來編寫存儲過程、函數和觸發器。此外,.NET Framework所提供的幾千個類和方法也擴展了服務器功能,并且能夠非常容易的在服務器端使用它。許多之前我們用T-SQL難以實現的任務現在可以更容易的用托管代碼實現。此外,還新增了兩個數據庫對象類型:聚合和用戶自定義類型。現在,你能夠更好的利用已掌握的知識和技能編寫in-process 代碼。 總之,SQL Server 2005能夠擴展你的數據庫服務器,使其更容易在后臺執行適當的計算和操作。
SQL Server 和 CLR 的集成主要提供了如下好處:
增強的編程模型:.NET Framework 兼容的編程語言在很多方面要比T-SQL更強大,它提供給SQL 開發人員之前沒有的架構和功能。
增強的安全性: 在CLR環境下運行的托管代碼被數據庫引擎所控制,這使得 .NET Framework 數據庫對象能夠比以前版本的SQL Server中的擴展存儲過程運行的更安全和具備更好的安全性。
用戶自定義類型和聚合: 借助宿主CLR,這兩個新的數據庫對象擴展了SQL Server 的存儲和查詢能力。
通用開發環境: 數據庫開發被集成到Microsoft Visual Studio 2005 開發環境中。 你用來開發中間層和客戶層.NET Framework組件和服務的工具同樣可以被用來開發和調試數據庫對象和腳本。
性能和可伸縮性: 因為托管代碼被編譯為本機代碼得以優先執行,在某些場合你可以得到顯著的性能提升。
利用CLR集成,你可以用Visual Basic .NET 和 C#這樣的語言寫出具有更復雜邏輯的代碼和更適用于計算型任務的代碼。而且, Visual Basic .NET 和 C# 還提供了諸如封裝、繼承、多態這樣的面向對象的功能。你現在可以更容易的把代碼和類、名字空間組織在一起,這意味著你更容易組織和維護工作產生的大量代碼。這種從邏輯上和物理上把代碼組織到裝配件和名字空間中的功能非常有用,它將使你能夠更好的在一個大型數據庫實現項目中發現和關聯不同的代碼塊。
托管代碼在處理運算和管理復雜執行邏輯上比T-SQL更有效,并且提供了對字符串處理、正則表達式之類功能的額外支持。此外,由于現在可以利用.NET Framework類庫的功能,你可以更容易的從存儲過程、觸發器、用戶定義函數中訪問幾千個內置的類和例程(routines)。通過托管存儲過程、函數、觸發器、聚合,可以更容易的實現字符串處理、數學函數、日期操作、系統自由訪問、高級加密算法、文件訪問、圖像處理、XML數據操作等功能。
托管代碼的一個主要好處就是類型安全。在托管代碼執行前,CLR將執行一些檢查,通過一個被稱之為“驗證”的處理過程來保證所執行的代碼是安全的。例如,會檢查代碼以確保不會讀未寫的內存地址。
Transact-SQL 增強
Transact-SQL 一直以來就是SQL Server所有編程的基礎。SQL Server 2005 提供了很多新的語言功能用以開發可伸縮的數據庫應用程序。這些增強包括錯誤處理、新的遞歸查詢功能、對新的SQL Server數據庫引擎功能的支持等。SQL Server 2005中的 Transact-SQL 增強功能提高了您在編寫查詢時的表達能力,使您可以改善代碼的性能,并且擴充了您的錯誤管理能力。Microsoft 在增強 Transact-SQL 方面不斷付出的努力顯示了對它在 SQL Server 中具有的重要作用、它的威力以及它的將來所懷有的堅定信念。
2、改進的開發工具
開發人員現在能夠用一個開發工具開發Transact-SQL, XML, Multidimensional Expressions (MDX), and XML for Analysis (XML/A)應用。和Visual Studio 開放環境的集成也為關鍵業務應用和商業智能應用提供了更有效的開發和調試環境。
商業智能開發工具集
商業智能開發工具集是一個基于Visual Studio 的通用開發環境,可用于創建BI解決方案,包括:數據庫引擎,分析服務,報表服務等。也可以利用BI開發工具集的圖形化用戶界面來設計數據管理程序的SQL Server Integration Services (SSIS) 包,在BI開發工具集中,可以通過從工具欄中拖放任務,設置屬性,用先后次序連接任務等操作來設計、開發和調試SSIS 包。圖 3 顯示了這一接口。
圖 3: 在Visual Studio中的BI開放工具集接口
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和T-SQL代碼,而無需關心代碼的位置是存在開發人員的機器上還是SQL Server 數據庫上。
3、可擴展性
用戶定義類型和聚合
SQL Server 2005中的用戶定義類型并非對象的關系型擴展機制。它們是一種擴展數據庫標量類型系統的方法。標量類型系統包括列類型是SQL Server自帶的(像int, nvarchar, uniqueidentifier等)。使用用戶定義類型,你可以定義可用在列定義上的自己的類型,如,Create a user-defined type if your type really is an atomic value that is appropriate to be modeled as a column.
如果你需要定義自己的標量類型,你可用使用用戶定義類型。這些類型的例子包括在不同日歷中定制的日期/時間數據類型,貨幣類型。使用用戶定義類型,你可以創建一個單一的對象,把該類型的所有可用的行為開放出來,并且封裝或隱藏存在類型中的基礎數據,需要訪問數據的每個人必須使用用戶定義類型編程接口。如果你能利用.NET Framework 中的函數(如國際化或日歷函數),這倒是另一個使用用戶定義類型的好理由。
這還有很多關于聚合的例子,包括執行統計計算,如平均,方差等。如果需要的聚合函數不能直接由內建的聚合函數而得,在SQL Server 2005中,有三種方法來執行定制的聚合:
編寫用戶定義聚合
用CLR存儲過程來寫聚合
使用服務器端游標
SQL 管理對象(SMO)
SQL管理對象 (SMO)模型是SQL Server 2005的管理對象模型。SMO 在SQL Server管理對象模型上有顯著的設計和結構上的提升。它是一個簡單易用的,有著豐富的基于.NET Framework托管代碼的對象模型。SMO 是開發數據庫管理應用程序的主要的工具。SQL Server 管理工具集的每一個功能都可以用SMO來實現。
新的SMO對象模型和Microsoft Windows Management Instrumentation (WMI) APIs 替代了SQL-DMO,SMO比SQL-DMO更易使用。你依然可以使用SQL Server 2005 Beta 2中的SQL-DMO,但SQL-DMO 并不包含SQL Server 2005的特有的管理特性。
分析管理對象
分析管理對象 (AMO) 允許客戶端應用程序使用一個對象庫來訪問分析服務的管理命令和管理功能。該對象庫提供了對象級的校驗功能,而不是手工的生成分析服務命令的DDL腳本。應用程序通過AMO能夠連接到分析服務實例,且能直接操作其上的對象,或者在沒有連接的情況下創建對象,保持元數據供以后的部署。
4、改進的數據訪問和Web Services
在SQL Server 2005中,你可以開發數據庫層的XML Web services,把SQL Server 作為一個HTTP listener。這對那些以Web services為中心的應用程序提供了新型的數據訪問功能。在SQL Server 2005中,你可以使用HTTP直接訪問SQL Server,無需使用IIS這樣的中間層listener。SQL Server 開放了一個 Web service 接口, 可以執行SQL語句和調用函數和過程,查詢結果可用XML格式返回,并且可以利用Visual Studio 的Web services 架構。
ADO.NET 2.0/ADOMD.NET
很多新的功能出現在下一個版本的ADO.NET中。從查詢改變通知到多活動結果集(MARS),ADO.NET使數據訪問和操作更加可伸縮和靈活。
三、查詢通知
SQL Server 2005引入了對SQL Server 查詢的通知支持。你可以使用這一功能來發送一個命令到SQL Server,并且要求當其后運行的同樣命令產生不同的結果時,SQL Server生成一個通知。這一功能是通過從屬對象檢測到基礎數據的改變來實現的。可用通過多種客戶端API將命令發送到服務器,如:ADO.NET, OLE DB, Open Database Connectivity (ODBC), Microsoft ActiveX Data Objects (ADO), 或 SOAP等,這些命令可能包含一個通知請求的tag。對于被作為請求一部分的被執行的每一條語句,服務器都會為請求中的每一條語句創建一個“通知訂閱”。通知通過一個SQL Service Broker 隊列傳遞,應用程序可以輪詢,并且無論通知是否可用,都可以使用活動服務,或者阻礙語句的返回。 查詢通知對于在那些數據庫驅動Web 站點應用程序中啟用結果緩存非常有用。圖 4 顯示了查詢通知處理過程。
圖 4: 查詢通知
四、MARS
多活動結果集 (MARS)允許每個連接有超過1個的掛起請求,特別是允許每個連接有超過1個的打開的默認結果集。默認結果集是一種前向的、只讀的結果集,采用默認結果集,客戶端驅動可以透明的接受數據塊(表格數據流buffer大小的數據塊)以滿足應用程序的要求,而無需在服務器往返(就像使用服務器游標)。 應用程序可用使用一種簡單的一次一行的編程方法而不會有性能上的損失。多活動結果集消除了這一當前的限制:一個打開的默認結果集將阻止發送新的請求給服務器,直到整個結果集關閉為止。
五、數據鏡像中的透明的故障轉移
SQL Server 2005 可通過數據庫鏡像來支持熱備功能。如果一個SQL Server 實例失效,工作可以被自動的轉移到備份服務器上。這要求一個實例見證故障轉移,該實例被稱為見證實例。熱備例子要求已存在的客戶端連接必須知道故障轉移(和新的服務器實例建立連接),如果客戶端在下一次訪問中發生錯誤,必須手工編程來故障轉移,這并非好的方案,ADO.NET 2.0中的SqlClient 無需特別的編程便可支持客戶端的故障轉移。
XML Support
像本機XML數據類型和XQuery之類的先進功能使組織能夠無縫的連接內部和外部的系統。SQL Server 2005 將完全支持關系型和XML 數據,這樣企業可以以最適合的格式來存儲,管理和分析數據。對于那些已存在的和開放的標準如: Hypertext Transfer Protocol (HTTP), XML, Simple Object Access Protocol (SOAP), XQuery, 和 XML Schema definition language (XSD) 的支持也將更方便的讓整個企業系統互通。
XML 數據類型
XML能夠比SQL Server所支持的那些標量數據類型更好的對復雜數據進行建模。基于字符串的內置數據類型char 或者是varchar并不能夠充分有效的利用XML數據的大量優點。舉例來說,如果XML被存儲為一個字符串,那么你可以插入或檢索整個XML文檔,甚至能夠從中檢索連續的字符,但你不能定位查詢文檔中內容。通過XML數據類型,SQL Server 2005使我們能夠查詢XML文檔中的一部分,校驗文檔是否滿足XML schema,甚至能夠定位修改文檔中的內容。 它也將傳統的關系型數據和非結構化和半結構化的數據集成在一起,而這在SQL Server 2000中是不可能的。在SQL Server 2005中, XML數據被作為二進制大對象 (BLOBs)內部存放,使得重解析和壓縮更有效。
一個XML schema集可以和類型化XML的一列相關聯,這樣便能夠對已存儲的XML數據的約束、插入、改寫、值的類型進行校驗,也能夠優化存儲和查詢性能。SQL Server 2005 也提供了一些DDL 語句用于管理服務器上的schema。
XQuery
XML 查詢語言,或者XQuery是一種專為查詢各種類型XML數據的智能和高效的語言。使用XQuery,你可以對XML數據類型列和變量進行查詢。. 和許多XML 標準一樣, World Wide Web Consortium (W3C) 組織監視著XQuery的開發。 XQuery由 Quilt 這種查詢語言發展而來,它基于多種查詢語言,如, XML Path Language (XPath) 1.0, XQL, 和 SQL, 它也把XPath 2.0 包含為一個子集。因此,如果你有使用XPath 1.0的經歷,你可以不用從頭學起。然而,它比XPath1.0有些顯著的增強,如:類型化,特別的函數,支持更好的反復,結果集排序,結構等。
SQL Server 2005 Beta 2 提供了更多的XQuery 功能,它允許在數據層操作XML對象。它支持XQuery 1.0 工作草案(2003年11頁15日制定)的一個靜態類型子集。
Web Services 支持
在SQL Server 2005中,你可以開發數據庫層的XML Web services,把SQL Server 作為一個HTTP listener。這對那些以Web services為中心的應用程序提供了新型的數據訪問功能。在SQL Server 2005中,你可以使用HTTP直接訪問SQL Server,無需使用IIS這樣的中間層listener。SQL Server 開放了一個 Web service 接口, 可以執行SQL語句和調用函數和過程,查詢結果可用XML格式返回,并且可以利用Visual Studio 的Web services 架構。
XML for Analysis Services (XML/A)
用于分析的XML(XML/A)是一個本機的、基于標準的協議,被用于和Analysis Services服務器通信。通過它,可以非常容易的開發出新型的應用程序——集成分析和實時操作,可以從任何平臺,任何語言來訪問數據。采用XML/A本機協議,分析服務客戶端無需任何配置,每一個服務器自動的成為一個Web Services。一個輕量的Win32層可用于向后兼容,如Analysis Services 2000 的 OLE DB for OLAP,ADOMD和ADOMD.NET。大多數用戶也還能使用ADOMD.NET對象模型創建分析服務上的定制應用。
Application 架構
SQL Server 2005 帶來了新的SQL Server 應用程序架構,包括: Service Broker, Notification Services, SQL Server Mobile, SQL Server Express。Service Broker 是一個分布式應用程序框架,它在數據庫到數據庫級上提供了可靠的異步通訊。
Service Broker
在過去10年來,電子商務應用的發展提出了在數據庫應用程序間管理工作流的需求。當一個在線客戶發出一個購書訂單,這個訂單需要提交在庫存、送貨、信用卡系統中提交事務,也需要使用另一個Web應用程序發出訂單確認信息。等待這些應用依次完成并不是好的方法,SQL Server 2005 提供了一個新的可伸縮的架構用來構建異步信息處理。
Service Broker 技術通過使用T-SQL DML語言擴展允許內部或外部應用程序發送和接收可靠、異步的信息流。信息可以被發送到發送者所在數據庫的隊列中,獲發送到同一SQL Server實例的另一個數據庫,或發送到同一服務器或不同服務器的另一個實例。
圖 5是Service Broker結構的大綱視圖:
圖 5: Service Broker 結構
通知服務
Microsoft SQL Server 通知服務是一個用來開發和部署消息通知應用程序的平臺。通知是個性化、時效性的信息,可以被發送給多種不同的設備。
通知反映了訂閱者的喜好,訂閱者可以進入他感興趣的訂閱。如,“當Adventure Works股票價格達到$70.00時通知我”,或“當我這個團隊的策略文檔被更新時通知我”。
一旦觸發事件發生,通知便被生成并發送給用戶,通知也可根據用戶預定義的調度來生成和發送。用戶的訂閱規定了何時通知被生成和發送。
通知可以被分送給不同的設備,如,一個通知可以被發送給用戶的移動電話,個人數字助手(PDA),Microsoft Windows Messenger, 或 e-mail 賬戶。因為用戶常使用這些設備,所以通知是理想的發送高優先級信息的手段。
SQL Server Mobile Edition
在SQL Server 2000 中出現的 SQL Server 2000 Windows CE 版現已是SQL Server Mobile 3.0版。在其中有很多和開發人員有關的新的關鍵特性:
你現在可以直接用SQL Server Management Studio 在桌面或設備上創建一個SQL Server Mobile 版數據庫。你也可以直接從SQL Server Management Studio中操作這個數據庫的模式,而無需考慮這個數據庫是在桌面還是在移動設備上。你可以使用SQL Server Management Studio來對設備或桌面上的SQL Server Mobile 版數據庫允許查詢。你可以充分利用新的SQL Server Mobile 版的特性:一個GUI界面的XML showplan,就像本機SQL Server一樣,可以使用查詢暗示來覆蓋SQL Server Mobile的查詢優化器。你第一次可以在設備上控制優化計劃。
你現在可以對DTS對象編碼來交換數據。
在SQL Server 2005中從SQLResult 集派生出新的SqlCeResult 集。這將使得SQL Server Mobile版有個真正可滾動的、可更新的光標。它也允許綁定到設備上的數據對象。
你可以在主應用程序打開的同時編寫一個應用程序來同步數據,你現在可以在同一時刻用兩個不同的應用程序來訪問設備上的同一個數據庫。
你可以對同步狀態欄進行編程以得到同步狀態通知,以前沒有辦法做到這一點,無法通知用戶設備并沒有停止響應。
你可以通過更為主動的頁回收策略來維護一個更小的數據庫。
你可以使用SQL Server語法來共享參數查詢代碼。
SQL Server Express
越來越多的開發人員正在改進關系型數據庫以提供更豐富的用戶體驗。對應用信息的保護和管理是關鍵,微軟 SQL Server Express 為開發人員提供了一個免費的、易于使用的、功能強大的數據庫,使其能夠創建強大的、可靠的應用程序。很多數據庫系統對于創建簡單的應用而言顯得過于復雜了,微軟 Visual Studio 2005 和 SQL Server Express 通過一個簡單,但是強大的開放環境,從而減少了創建數據驅動應用的復雜度。開發人員可以在Visual Studio 2005開發環境里設計模式,增加數據,對本地數據庫查詢,如果開發人員需要更高級的數據庫特性,SQL Server Express 可以無縫的升級到更高級的SQL Server版本。圖6 顯示了在SQL Server Express 管理器中的查詢編輯器接口。
圖 6: 在SQL Server Express 管理器中的查詢編輯器接口
SQL Server Express 管理器 (XM) 這一新的GUI工具是完全免費的,可用從Web上下載,下載包的大小也較小,分發也是免費的。XM 提供了易使用的數據庫管理和查詢分析功能,它可以連接到SQL Server Express 和其他SQL Server 2005 版本、SQL Server 2000 和 MSDE 2000上。一個簡單的連接對話框可以指導用戶選擇實例和認證方式,本地和遠程的連接都可使用XM。對象瀏覽器列舉和顯示了常用的對象,如實例、表、存儲過程等,它們以層次的方式來展示,可用使用戶直觀的訪問數據庫。
所有的數據庫管理功能都可在對象瀏覽器的右擊菜單中找到,有的數據庫管理選項是開放的,如創建和修改數據庫,表,登錄,用戶等。這些常用的數據庫操作有的還有任務向導來指導用戶,有的則是提供了文檔。例如, XM 將提供一個New/Edit 數據庫文檔來創建新的數據庫和編輯已有數據庫。
許多數據庫管理員傾向于用T-SQL來管理他們的服務器,因為這樣要比GUI方式提供更細的控制。XM的查詢編輯器允許用戶開發和執行T-SQL語句和腳本,查詢分析器有著強大的功能,如提供了關鍵字顏色標示,返回結果可用Grid顯示,如果有錯誤,錯誤信息也可顯示在結果區中。
六、商業智能
SQL Server 2005 通過在可伸縮性、數據集成、開發工具和強大的分析等方面的革新更好的確立了微軟在BI領域的領導地位。SQL Server 2005 能夠把關鍵的信息及時的傳遞到組織內員工的手中,從而實現了可伸縮的商業智能。從CEO 到信息工作者,員工可以快速的、容易的處理數據,以更快更好的做出決策。SQL Server 2005全面的集成、分析和報表功能使企業能夠提高他們已有應用的價值,即便這些應用是在不同的平臺上。
商業智能增強體現在以下幾個方面:
端到端的集成BI平臺
集成服務
分析服務
報表服務
Microsoft Office System的集成
1、端到端的集成BI平臺
Microsoft SQL Server 2005 是一個完整的商務智能 (BI) 平臺,其中為用戶提供了可用于構建典型和創新的分析應用程序所需的各種特性、工具和功能。本文簡要介紹了您在構建分析應用程序時將要用到的一些工具,并著重介紹了一些新增功能,這些新增功能使復雜 BI 系統的構建和管理比以往更加輕松。
SQL Server 2005 Business Intelligence 工具集提供了一種端到端的 BI 應用程序集成:
設計:Business Intelligence Development Studio 是第一款專門為商務智能系統開發人員設計的集成開發環境。Business Intelligence Development Studio 構建于 Visual Studio 2005 技術之上,它為 BI 系統開發人員提供了一個豐富、完整的專業開發平臺。BI 平臺上所有組件的調試、源代碼控制以及腳本和代碼的開發它都支持。
集成:“數據轉換服務”已被重新編寫,現在的 DTS 可以高速執行超大數據量的復雜數據集成、轉換和合成。Business Intelligence Development Studio 使程序包的構建和調試變得更加生動有趣。DTS、Analysis Services 和 Reporting Services 共同提供了一個異類數據源的無縫數據視圖。
分析:一直以來,Microsoft 的數據挖掘都十分簡單易用。現在,結合了其他的重要新算法(包括關聯規則、時間序列、回歸樹、序列群集、神經網絡和貝葉斯算法),使得這一功能更加完美。SQL Server 2005模糊了關系型數據庫和多維數據之間的界限,你可以存儲數據在關系型數據庫,也可以存在多維數據庫,或使用新的主動緩存功能取其最佳。而在 Analysis Services 多維數據集中也添加了一些重要的新增功能:關鍵績效指標框架、MDX 腳本,以及其他的內置高級業務分析方法。Reporting Services 報表提交和管理框架使得復雜的分析方法更易于向最廣泛的潛在受眾分發。
報表:Reporting Services 將 Microsoft Business Intelligence 平臺的用戶群體延伸至那些需要使用分析功能的商務用戶。Reporting Services 是一種企業級報表環境,它通過 web 服務進行報表嵌入和管理。您可以用大量的交互和打印選項,以各種不同的格式個性化設置和提交報告。通過將報告以數據源的形式分發至下游商務智能,復雜分析可以覆蓋更廣泛的受眾。SQL Server 2005 還提供了新的報表工具: Report Builder。
管理:SQL Server Management Studio 集成了對 SQL Server 2005 所有組件的管理。Business Intelligence 從業者都將得益于 Microsoft 服務器“能力”擴展這一用戶盼望已久的功能增強,即從關系引擎(伸縮性、可靠性、可用性、可編程性,等等)擴展為全套的 BI 平臺組件。
2、Integration Services
SQL Server 2005帶來了一個全新的企業級數據整合平臺。此平臺具有出色的ETL和整合能力,使得組織機構能更加容易地管理來自于不同的關系型和非關系型數據源的數據。通過SQL Server Integration Services(SSIS),組織機構能以整體的視角去考察它們的商業運營情況,從而能具有競爭優勢。
企業級數據整合平臺
SQL Server Integration Services取代了SQL Server 2000中一個非常受歡迎的功能模塊——數據轉換服務(DTS)。但SSIS并不是DTS的簡單升級,它是SQL Server 2005中的一個全新的組件,它提供了構建企業級ETL應用程序所需的功能和性能。SSIS是可編程的、可嵌入的和可擴展的,這些特性使其成為理想的ETL平臺。
傳統 ETL 之外的
SQL Server 2005 支持非傳統的數據(Web Service,XML):
SSIS 可對不持續的數據進行分析
在數據流中的數據挖掘和文本挖掘
數據流中的數據挖掘和分析可用于數據質量和數據清洗
3、Analysis Services
在SQL Server 2005中,分析服務(Analysis Services)第一次提供了一個統一和集成的商業數據視圖,可被用做所有傳統報表、OLAP分析、關鍵績效指標(KPI)記分卡和數據挖掘的基礎。
統一空間模型Unified Dimensional Model通過結合傳統OLAP分析和關系型報表中的最佳點,Analysis Services 2005提供了一個元數據模型用于滿足不同需求。Analysis Services 2005中的所有多維數據集和維度定義都可從統一空間模型UDM中查閱。UDM是一個中心元數據庫,其中定義了業務實體、業務邏輯、計算和metrics,可被作為所有報表、電子表格、OLAP瀏覽器、KPI和分析應用程序的源來使用。
通過使用新的、功能強大的數據源視圖特性、UDM可被映射成后臺異構數據源宿主,這樣便可無需考慮數據的位置。
利用UDM中對業務實體的友好描述、等級導航、多視角、自動平滑翻譯為本機語言這些功能,最終用戶將會發現瀏覽公司業務數據是一件容易的事情。
數據挖掘
Microsoft SQL Server 2005 Data Mining(數據挖掘)屬于商務智能技術,它可幫助您構建復雜的分析模型,并使其與您的業務操作相集成。Microsoft SQL Server 2005分析服務中構建了新的數據挖掘平臺——一個易于使用的、容易擴展的、方便訪問的、非常靈活的平臺。對于以前從未考慮過采用數據挖掘的組織機構,這無疑是個非常容易接受的解決方案。
企業級產品的架構,與SQL Server產品家族商業智能功能的緊密集成,豐富的工具、API和算法,這一切使得我們能基于SQL Server創建新型的商業智能應用程序。通過它所提供的針對各種商業問題的自定義的數據驅動解決方案,能達到提高生產力、增加利潤和減少支出的目的。
4、Reporting Services
SQL Server 2005 Reporting Services擴展了微軟商業智能(BI)平臺,以迎合那些需要訪問商業數據的信息工作者。Reporting Services是一個基于服務器的企業級報表環境,可借助web services進行管理。報表可以用不同的格式發布,并可帶多種交互和打印選項。通過把報表作為更進一步的商業智能的數據源來分發,復雜的分析可被更多的用戶所用。
作為SQL Server 2005 的一個集成組件,Reporting Services提供了:
一個高性能引擎用來處理和格式化報表。
一個完整的工具集用來創建、管理和查看報表。
一個可擴展架構和開放式接口可將報表嵌入或集成報表解決方案到不同的IT環境中。
關系型和OLAP報表
在關系型數據上創建報表固然有用,但如能增加更多的分析能力就十分強大了。Reporting Services允許你在關系型和OLAP上創建報表,單獨的、或結合的。SQL Server 2005 支持關系型和OLAP數據,其分別提供了SQL Query Editor 和 MDX Query Editor。
報表生成器Report Builder
作為微軟SQL SERVER 2005 Reporting Services的一個新組件,Report Builder允許商業用戶使用界面友好的數據模型來創建他們自己的報表。報表生成器使Reporting Services平臺能夠為所有最終用戶創建即席查詢(ad hoc)報表。用戶可以使用報表生成器客戶端來創建和編輯報表。報表生成器用戶界面是構建在大家熟知的微軟office產品之上的,如Excel和PowerPoint。圖 7 顯示了一個示例
圖 7: 用Report Builder設計報表
報表生成器是一種由瀏覽器來部署的ClickOnce應用程序。用戶可以通過選擇報表布局模板來開始創建報表,這些模板包含預定義的數據區,如:表格、矩陣表和圖表。接著用戶可以從模型中拖放報表項到設計界面,并可設置約束來過濾數據。報表生成器自動生成源查詢和檢索請求數據所需要的所有信息都包含在這個模型中。報表生成器還允許用戶:
向報表增加文本和格式
使用模型創建新的字段和計算定義
預覽、打印和發布報表
把報表數據導出為如Excel之類的格式
5、和Microsoft Office System的集成
Reporting Services 中的報表可運行在Microsoft SharePoint® Portal Server 和 Microsoft Office System 應用程序中,你可用使用SharePoint 中的特性來訂閱報表,創建新的報表和分發報表,你也可以在Word 或 Excel 中以HTML格式打開報表。
七、升級到SQL Server 2005
下面是一些升級到SQL Server 2005的小技巧。
可以從SQL Server 7.0 或 SQL Server 2000升級到SQL Server 2005。
在升級之前運行升級顧問程序來判斷是否有產品上的變化而導致現有的程序中斷。
數據庫引擎,分析服務,報表服務可以在安裝時升級。
SQL Server集成服務(DTS的替代品)是和DTS并行安裝的,你可以使用DTS運行時組件來運行DTS包。
SQL Server 2005 Notification Services 是和Notification Services 2.0并行安裝的,當你升級數據庫引擎時,你必須移植Notification Services 實例到SQL Server 2005。
在升級后,使用Surface Area Configuration 工具來啟用或禁用SQL Server 2005服務, 網絡協議和特性。
關鍵字:SQL Server、網絡協議、數據庫、引擎
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解