SQL Server 2005 管理員概述

針對下一代互連的、可擴展的和可靠的企業應用程序,Microsoft® SQL Server™ 2005 Beta 2 爲 Microsoft® Windows Server System™ 綜合服務器軟件提供了一個數據庫平臺。該版本在創新方面所達到的廣度和深度完全可以滿足客戶的需求。本白皮書面向數據庫管理員,旨在讓讀者瞭解 SQL Server 2005 Beta 2 新的功能特性。從對現有功能的諸多改進到全新的安全模型,數據庫管理現在變得更加高效,更能滿足管理員的需求。

數據庫管理員 (DBA) 的角色正在發生變化。現在,各家組織機構越來越需要數據庫管理員來管理包含更龐大數據的更多系統,同時設法保持 IT 成本不變,或者甚至降低成本。與此同時,還要求數據庫管理員花更多時間來幫助企業開發人員瞭解數據模型和最佳的數據訪問範例,以便構建可滿足公司需求的可靠的應用程序。面對這些壓力,數據庫管理員需要就企業可管理性、可伸縮性和可用性方面,進一步挖掘他們所掌握的數據庫技術的潛力。SQL Server 2005 Beta 2 爲數據庫管理員提供了構建下一代 IT 基礎結構的根基。

SQL Server 2005 Beta 2 的核心是全新的基礎結構應用程序功能。SQL Service Broker 是一種分佈式應用程序框架,爲異步消息傳遞的可伸縮性和可靠性提供了一種新的形式。雖然不屬於新功能,但是 Microsoft® SQL Server™ Notification Services、Reporting Services 和 SQL Server Mobile Edition(原先稱爲 SQL Server CE)在 SQL Server 2005 Beta 2 中都得到了大幅度的增強。

SQL Service Broker

過去十年,電子商務應用程序的擴增造成了對改進數據庫應用程序的流程管理的需求。如果曾經構建過用於實現在線客戶定購的訂單入口系統,那麼您會充分了解後端流程的複雜性。例如,當客戶訂購了一本書時,那麼需要在庫存、運送以及信用卡數據庫系統中處理有關該訂單的一些事務,而且還必須使用另一個 Web 應用程序發送訂單確認信息。等待每個流程按順序執行並不是一件順利的事情。SQL Server 2005 Beta 2 提供了一種用於構建異步消息路由的可擴展的新體系結構。

Service Broker(服務代理)技術使得內部或外部流程可以通過運用普通 Transact-SQL 數據操作語言 (DML) 的擴展,發送和接收得到保證的異步消息。消息被髮送到與發送方所在的同一個數據庫的一個隊列中,並被髮送到同一個 SQL Server 實例的另一個數據庫中,或者被髮送到同一臺服務器或遠程服務器上的 SQL Server 實例中。Service Broker 通過目前最優秀的事務支持——SQL Server 關係引擎,實現了最佳的異步消息傳遞。

Reporting Services

隨着 SQL Server 2005 Beta 2 的發佈,Microsoft 擴展了其集成商務智能 (BI) 平臺的一個主要的新組件。通過在任何商業環境中便捷地將適當的信息傳遞給適當的人員,SQL Server Reporting Services 拓寬了 Microsoft 商務智能的發展前景。

Reporting Services 是一種用於創建、管理和傳遞傳統及交互式報表的基於服務器的完整平臺。它包含了“立即可用”於創建、分發和管理報表所需的一切事物。同時,Reporting Services 的模塊化設計和廣泛的應用程序編程接口 (APIs) 使軟件開發人員、數據提供人員和企業可以將報表系統與舊的系統或第三方應用程序相集成。

SQL Server 2005 Beta 2 所附帶的 Reporting Services 包含:

一套用於創建、管理和查看報表的完整的工具。

一個承載和處理報表的引擎。

一個可擴展的體系結構和一些開放接口,用於在不同的 IT 環境中嵌入報表或集成解決方案。

Notification Services

Notification Services 是一種用於開發和部署應用程序(可生成通知併發送給用戶)的平臺。通知是指可發送給廣大設備的個性化的、及時的消息。

通知可反映訂戶的設置。訂戶通過訂閱來表示自己對某種信息感興趣。例如,“請在 Adventure Works 的股價達到 70.00 美元時通知我”或“請在我的小組正在編寫的戰略文檔更新時通知我。”

只要觸發事件一發生,就會生成通知併發送給用戶,或者可以按照用戶預定的時間表生成併發送通知。用戶通過訂閱指定何時生成併發送具體的通知。

通知可以被髮送給廣泛的設備。例如,通知可以被髮送到用戶的移動電話、個人數字助理 (PDA)、Microsoft Windows® Messenger 或電子郵件帳戶。由於這些設備經常伴隨用戶左右,因此通知是發送高優先級信息的理想選擇。

SQL Server Mobile Edition

Microsoft® SQL Server™ 2000 附帶了 Microsoft SQL Server 2000 Windows CE Edition。後者現在被稱爲 Microsoft SQL Server Mobile Edition,可以通過全新的 SQL Server Management Studio 進行開發和管理。現在,用戶可以在臺式計算機或其他設備上,直接從 SQL Server Management Studio 創建 SQL Server Mobile Edition 數據庫。還可以直接從 Management Studio 控制 SQL Server Mobile Edition 數據庫的架構,不管數據庫是駐留在移動設備上還是駐留在臺式計算機上。可以創建訂閱數據庫,並通過 Management Studio 將數據從 SQL Server 發佈數據庫拖入臺式計算機或其他設備上的 SQL Server Mobile Edition 數據庫中。最後,用戶可以通過 Management Studio 運行鍼對臺式計算機或其他設備上的 SQL Server Mobile Edition 數據庫的查詢,並可以運用包含一個採用 GUI 格式(正如本地 SQL Server 格式)生成的 XML showplan 的 SQL Server Mobile Edition 的新功能以及使用查詢提示替代查詢優化器的功能。 SQL Server Mobile Edition 與數據轉換服務 (DTS) 相集成。現在,通過使用 Microsoft® Visual Studio® 2005 應用程序中的 DTS 對象,用戶可以在臺式計算機上訪問非 SQL Server 數據源並直接將數據放入 SQL Server Mobile Edition 數據庫。SQL Server Mobile Edition 還直接利用對新的合併複製的性能改進,極大提高了帶有數千個同時連接的 SQL Server Mobile Edition 訂閱數據庫的單臺服務器的可伸縮性。

如您所見,SQL Server 平臺的基礎結構發生了許多變化。數據庫引擎在可伸縮性、可靠性和安全性方面提供了一個成熟、可靠的基礎結構。上面所提到的那些架構都參與了故障轉移羣集、備份和恢復以及事物日誌記錄,而且用戶可以從 SQL Server Management Studio 對它們進行管理。

高可用性和高可伸縮性

SQL Server 2005 Beta 2 在數據庫的可用性和可靠性方面取得了巨大進步。停機時間分爲兩類:計劃內和計劃外的停機時間。計劃外的停機時間確實屬於災難恢復操作,需要特殊的規劃和基礎結構。故障轉移羣集可用於在進行計劃內的維護時保持系統聯機,這種技術在 SQL Server 2005 Beta 2 中得到了增強。另外,SQL Server 2005 Beta 2 還引入了數據庫鏡像——一種可爲實現數據庫可用性提供便利的新技術。

故障轉移羣集

SQL Server 2005 Beta 2 故障轉移羣集爲服務器級故障提供了高可用性支持。藉助故障轉移羣集,操作系統和 SQL Server 通過共同提供冗餘硬件和一個自動化機制來在主硬件發生故障時將數據庫服務器轉移到輔助硬件,從而實現故障保護。故障轉移羣集最多可支持八個節點,具體數量取決於服務器所運行的是 Microsoft® Windows Server™ 2003 的哪個版本。

SQL Server 已經把故障轉移羣集功能擴展到了 SQL Server Analysis Services、Notification Services 和 SQL Server 複製。對於 SQL Server 2000,SQL Server 代理以及其他作業管理和處理功能過去都不支持故障轉移羣集。現在,這些技術都支持羣集;SQL Server 故障轉移羣集現在是一種更完善的服務器級冗餘解決方案。

降高可用性擴展至所有數據庫應用程序

SQL Server 2005 Beta 2 通過“即寫即複製 (copy-on-write)”技術將數據可用性延伸到了新的方向上。SQL Server 2005 Beta 2 針對數據庫級可用性引入了一種新的高性能事務傳輸技術——數據庫鏡像。通過數據庫鏡像,當寫入日誌時,事務變更就會被髮送到另一臺服務器上。針對數據庫實例的所有已記錄的變更可迅速被複制到其他地方。

數據庫鏡像

通過爲用戶提供數據庫鏡像選擇,SQL Server 2005 Beta 2 大幅增強了日誌傳送功能。數據庫鏡像允許事務日誌以連續的方式從源服務器傳遞到單臺目標服務器上。當主系統出現故障時,應用程序幾乎可以立即重新連接到輔助服務器上的數據庫,而不用等到恢復操作結束。輔助實例幾秒鐘內即可檢測到主服務器發生了故障,並能立即接受數據庫連接。與故障轉移羣集不同,由於存在同步狀態,鏡像服務器會被全面緩存,並準備接受工作負荷。

數據庫鏡像系統需要三臺運行 SQL Server 的服務器,每臺服務器各自擔當特定的體系結構角色:“主要 (principal)”服務器、“鏡像 (mirror)”服務器和“見證 (witness)”服務器。主要服務器是連接應用程序和處理事務的服務器。鏡像服務器用於保存事務日誌記錄(可同步或異步應用)。鏡像服務器所處的狀態不允許對數據進行直接讀取。當事務日誌記錄在主要服務器上生成時,隨即在鏡像服務器上進行連續重播,並生成一種狀態。這時,一般只有當鏡像服務器在單次日誌寫入時重播寫入的日誌時,鏡像服務器才位於主要服務器後方。這將提供實時的數據副本。

見證服務器是體系結構中的仲裁方,提供決定性“投票”來決定哪臺服務器是“主要”服務器,哪臺服務器是“鏡像”服務器。體系結構中的兩臺服務器必須依次同意將其中一臺服務器指派爲主要服務器,即處理所有事務的目標服務器。從客戶端應用程序的角度來看,從一臺服務器到另一臺服務器的故障轉移操作幾乎是同時自動進行的。只有需要執行自動故障轉移的實例才需要作爲“證人”的服務器。

除了從主要服務器到鏡像服務器的故障轉移僅存在極短的延遲外,數據庫鏡像的最重要的功能之一是雙向變更同步。當主要服務器脫機,應用程序被故障轉移到鏡像服務器上時,鏡像服務器隨即成爲體系結構中的主要服務器。當故障服務器恢復聯機時,將被指定爲鏡像服務器,並將應用主要服務器的事務日誌記錄,從而與當時的數據庫狀態進行同步。

數據庫鏡像可用於標準服務器硬件,不需要特殊的存儲器或控制器。

雖然數據庫鏡像提供了持續的支持,但在許多情況下還需要數據庫的“快照 (snapshot)”: 作爲“熱到冷”待命;作爲測試和開發數據庫;或者作爲報告數據。“即寫即複製”技術通過數據庫視圖的形式提供了這種功能。

數據庫快照

SQL Server 2005 Beta 2 所引入的這一功能使管理員可以生成和使用數據庫的穩定的只讀視圖。數據庫快照可提供這種功能,而不必創建數據庫或存儲要求的完整副本。由於主數據庫背離了快照,快照將在原始頁被更改時自行獲取有關副本。快照可能被用於恢復數據庫的意外更改,只要通過對主數據庫重新應用來自快照的頁就能實現。

複製

複製用於通過爲多個數據庫分發數據提高數據的可用性。通過針對 SQL Server 讀取工作負荷和數據庫縱向擴展應用程序,或者與偶爾連接的移動用戶數據庫同步脫機數據,提高了可用性。通過使用一個新的點對點模型,SQL Server 2005 Beta 2 加強了這兩個方面的可用性選擇。這個新模型提供了一個新拓撲,使數據庫可以與任何同級數據庫進行相互同步。這樣,通過對已分發數據啓用更重的“讀取”工作負荷,同時爲已分發的冗餘數據庫提供容錯功能,從而提高了數據庫的可用性。通過 http:// 和 https:// 進行復制的新選擇提高了移動方案的數據可用性,即在 Internet 上進行同步。全新的 Oracle Publishing 功能實現了從 Oracle 數據庫到 SQL Server 的複製,提高了企業內同類數據的可用性。

最小化維護時間

數據庫管理員最頭疼的事情之一是:必須重新啓動數據庫服務器以便應用對 SQL Server 系統參數所做的更改。SQL Server 2005 Beta 2 已經大幅減少了更改後需要重新啓動才能生效的參數的數量。現在可以更改數據庫服務器與 CPU 和 RAM 內存的關聯關係,而不必進行重啓。作爲開發週期的一部分,原先需要進行重啓的每個功能現在都不再需要進行重啓了。如果出現了計劃內或計劃外的停機事件,完全恢復所需的時間將通過 SQL Server 2005 Beta 2 中採用滾動恢復的 "on the fly" 數據庫功能得到縮短。另外,SQL Server 提供了聯機創建和管理索引的功能,從而不必再爲了這些任務而使數據庫脫機。

聯機索引操作

聯機創建、重建或拋棄索引的功能是 SQL Server 2005 Beta 2 的一個增強功能。SQL Server 2005 Beta 2 加強了 SQL Server 早期版本的索引功能。聯機索引選項允許在執行索引數據定義語言 (DDL) 時,對基礎表或聚集索引數據以及任何關聯的索引進行併發修改(更新、刪除和插入)。例如,當某個聚集索引正在重建時,可以繼續更新基礎數據並對這些數據執行查詢。在 SQL Server 的早期版本中,諸如重建等索引 DDL 操作都對基礎數據和相關聯的索引設置了排他鎖,防止在結束索引操作之前執行任何修改或查詢操作。有了對聯機索引操作的支持,用戶可以在不干預對錶或其他現有索引的訪問的情況下,添加索引。此外,服務器工作負荷允許索引操作運用平行處理功能。

聯機還原

SQL Server 2005 Beta 2 引入該功能以便在 SQL Server 實例運行時執行還原操作。聯機還原功能提高了 SQL Server 的可用性,因爲只有被還原的數據不可用。數據庫的其他部分仍保持聯機且可用。SQL Server 的早期版本要求用戶在執行還原操作之前讓數據庫脫機。

在運用聯機還原功能時有兩種選擇:

對整個數據庫文件執行文件級聯機還原

對文件組執行聯機還原,因爲文件組只是多個文件的集合。

快速恢復

SQL Server 2005 Beta 2 通過一個新的更快的恢復選項提高了 SQL Server 數據庫的可用性。在事務日誌前滾之後,用戶可以重新連接到恢復數據庫。SQL Server 的早期版本要求用戶等到不完整的事務回滾之後才能進行重新連接,即便用戶無需訪問數據庫中受影響的部分。

讀/寫操作可以與恢復撤銷階段並行執行。然而,在撤銷階段訪問鎖定數據的操作通常會被數據庫所阻止,直至撤銷操作解除對相應數據的鎖定。

鏡像備份

SQL Server 的早期版本僅支持給定備份的一個副本。如果備份媒體被損壞,前滾操作將需要更長的時間,或者會失敗。現在,在 SQL Server 2005 Beta 2 中,可以對備份媒體創建鏡像。例如,可以安裝四個磁帶設備來備份兩個媒體家族,每個媒體家族各有一個鏡像。每個鏡像中相對應的卷擁有相同的內容,使其在還原時可以進行互換。最多可以執行四個鏡像備份集。

數據庫部署,部署和管理:革命性的工具集

雖然 SQL Server 在許多功能上只是進行了改進,但是有一個地方卻具有革命性——工具集。SQL Server Management Studio 是第一款允許用戶連接並使用 SQL Server、Analysis Services 和一個 SQL Server Mobile Edition 數據庫的數據庫管理套件。另外,用戶還可以管理 DTS、Reporting Services 和 Notification Services 應用程序。無論用戶是嚴肅認真的 Transact-SQL 開發人員,還是初識 SQL Server,SQL Server 工具集都爲用戶提供了完成數據庫任務所需的靈活、智能的體系結構。

SQL Server 2005 Beta 2 工具集主要針對三種主要的使用情況:創作、管理和操作。對於以上每種情況都有獨特的工具和功能。首先來看一下用於開發的一些新工具。

SQL Server Management Studio 查詢編輯器

SQL Server 2005 Beta 2 將 SQL 查詢分析器替換成了查詢編輯器。它是 SQL Server Management Studio 的一個組件,是通過交互方式設計和測試 Transact-SQL 語句、查詢、批處理和腳本的主要工具。藉助查詢編輯器,用戶可以通過 Transact-SQL 和多維表達式 (MDX) 編寫新的腳本。還可以編輯腳本,所編輯的腳本可以由文件創建或者由 SQL Server Management Studio 對話框或 SQL Object Explorer 自動生成。

查詢編輯器提供了:

語句自動完成,可能符合系統存儲過程的某些關鍵字的對象列表。

系統存儲過程的參數提示提供了符合存儲過程和用戶定義的功能的參數列表。

Transact-SQL 和 MDX 語法的分色標記提高了複雜語句的可讀性。

爲創建 SQL Server 對象加快開發 Transact-SQL 語句的模板。

通過 SQLCMD 擴展編輯執行和分析查詢。

使用 Transact-SQL 的 XML 列或 XML 功能時,結果顯示在網格或自由格式的文本窗口中,或者以 XML 格式顯示。

showplan 信息的圖形表示,顯示內置於 Transact-SQL 語句的執行計劃的邏輯步驟。

 
 

部署 SQL Server 2005 Beta 2

部署和配置工具

許多數據庫管理需要在數據庫應用程序部署的安裝和配置階段,更好地控制 SQL Server。SQL Server 2005 Beta 2 中更改基礎參數和文件位置的功能爲應用程序安全性和資源管理提供了更高的靈活性。下面幾節將簡要介紹 SQL Server 2005 Beta 2 在安裝和配置方面所做的一些更改。

Microsoft Windows Installer

SQL Server 2005 Beta 2 的安裝程序使用 Microsoft Windows Installer 將 SQL Server 功能的安裝完全集成到單個功能樹中。不再採用最小化安裝和典型安裝模式。安裝程序提供了一個功能樹,並選定了默認選項;用戶可以通過選定或取消選定功能樹上的項目以及指定安裝路徑,來自定義安裝。Windows Installer 的這個版本還支持遠程安裝及多實例配置。

一致性檢查程序

SQL Server 2005 Beta 2 的安裝程序提供了安裝一致性檢查程序 (SCC)——在開始安裝前檢查並驗證目標計算機的一種新功能。一致性檢查程序採用了 Microsoft Windows Management Instrumentation (WMI) 技術,可防止因本地、遠程或羣集目標計算機上存在不受支持的配置而導致安裝程序失敗。如果安裝程序能夠修復查到的故障項目,用戶可以讓安裝程序採取必要的措施。否則,在繼續執行安裝程序之前,一致性檢查程序將爲每個已發現的問題提供一個解決方案。

故障報告

SQL Server 2005 Beta 2 的安裝程序包含經改進的故障報告功能和可擴展的警報。如果在安裝過程中出現了錯誤,安裝程序會確定一個故障退出代碼,提供一條說明性的錯誤消息,推薦正確的解決辦法,並指示用戶查看安裝日誌。安裝程序還會保存每項安裝的日誌。

計算機管理器

計算機管理器替代了原來的客戶端網絡實用工具、SQL Server 網絡實用工具和 SQL Server 服務管理器。SQL Server 2005 Beta 2 中的計算機管理器提供了與 Analysis Services、Reporting Services、SQL Server 的以前版本以及全文搜索和 Microsoft 搜索一起協同工作的能力。在計算機管理器中,用戶可以針對客戶端和服務器網絡訪問定義網絡協議。WMI 支持計算機管理器。

管理和性能優化工具

SQL Object Explorer

全新的 SQL Server Management Studio 集成了來自 SQL Server 早期版本的企業管理器和 Analysis Services 的功能。SQL Object Explorer 提供了與企業管理器相同的所有功能。所做的改進包括在瀏覽數據庫對象時具有更高的可伸縮性,並集成了 OLTP 和聯機分析處理 (OLAP) 數據庫的腳本編寫功能。SQL Server 2005 和 SQL Server Mobile Edition 支持 Analysis Services、DTS、Reporting Services 和 Notification Services。SQL Object Explorer 提供了所能從企業管理器得到的所有管理功能,包括安全性、SQL Server 代理、SQL 郵件以及其他 SQL Server 子系統(包含 DTS、Notification Services 和 Reporting Services)。

維護計劃

在 SQL Server 的早期版本中,可以使用單個嚮導來制訂數據庫維護計劃。而所制訂的計劃會創建多個代理作業。這些代理作業本身包含命令行參數用以指定所要執行的功能。雖然“數據庫維護向導”可以應付幾種主要的用戶方案(比如:完整的數據庫備份),但是無法定義其他方案(比如:差異備份),或者輕鬆獲得針對具體維護任務執行了哪個 Transact-SQL 命令的確切信息。

SQL Server 2005 提供了一項全新的設計,使用戶幾乎可以定義與 SQL Server 相關的任何維護任務。SQL Server 2005 的維護計劃功能運用了 DTS 設計器的設計圖面,使用戶能夠定義維護計劃中的工作流。

SQL 事件探查器和數據庫優化顧問

SQL Server 2005 Beta 2 引入了一種新的索引優化工具,稱爲數據庫優化顧問 (Database Tuning Advisor, DTA)。DTA 能夠就更改數據庫結構的索引和表分區提出建議。此外,SQL Server 2005 對 SQL 事件探查器進行了廣泛的修改,從而提高了性能並提供了對服務器更深層次的可見性。以下是對 SQL 事件探查器做出最大更動的地方:

對 Analysis Services 的事件探查SQL 事件探查器現在支持捕獲由 Analysis Services 生成的事件。

將所跟蹤的 Showplan 保存爲 XML 格式。增加了基於 XML 的新的 Showplan 事件。現在用戶可以將 Showplan 保存爲 XML 格式。可以載入以這種方式保存的結果,以便在 SQL Server Management Studio 中通過圖形顯示 Showplan。死鎖事件還使用 XML 文本返回死鎖信息。同 Showplan 事件一樣,死鎖事件也可能始終以 XML 格式保存在磁盤中,並在 SQL Server Management Studio 中重新以圖形表示。這涉及到一個圖形死鎖語句。

將跟蹤結果保存爲 XML 格式。除了標準格式(ANSI、UNICODE 和 OEM)外,還可以將跟蹤結果保存爲 XML 格式。一旦保存爲 XML 格式,就可以對跟蹤結果進行編輯並回載到 SQL 事件探查器中進行重播。

聚合視圖。可以選擇一個聚合選項和一個聚合密鑰。這樣,用戶就可以看到一個視圖,其中顯示了執行聚合的列,並給出了構成聚合值的行數。

SQL 事件探查器可將性能監視計數器與 SQL Server 或 Analysis Services 事件相關聯。可以從一組預定義的性能監視計數器中進行選擇,並按特定時間間隔進行保存,同時還可以單獨收集 SQL Server 或 Analysis Services 跟蹤結果。將通過關聯以圖形表示的計數器和跟蹤結果(以表格形式表示),來關聯時間上重疊的跟蹤和性能數據。

對 Showplan 的改進

Microsoft SQL Server 2005 Beta 2 對 Showplan 和死鎖跟蹤功能進行了改進,提供了用於優化數據庫服務器的附加功能。所做的改進包括:

Showplan 結果被保存爲 XML 格式,從而可以載入到查詢編輯器中並通過圖形顯示。

將 Showplan 結果保存爲 XML 格式的功能爲實現性能優化提供了許多好處:可以保存 Showplan,將其傳送到其他位置,無需底層數據就可以查看。

可用導出的 Showplan 來幫助確定不同的內部或遠程數據庫間的差異。

SQLCMD

SQLCMD 是一種用於 SQL Server 2005 Beta 2 的新的命令提示符實用工具。它取代了 OSQL 命令提示符實用工具。SQLCMD 實用工具允許用戶在命令提示符處輸入 Transact-SQL 語句、系統過程和腳本文件。SQLCMD 支持 OSQL 或 ISQL 的功能,但同時引入了一組更豐富的命令,使用戶可以更好地操作應用程序腳本(比如:Microsoft® Visual Basic® for Applications (VBA) 腳本)。

專用的管理員連接

SQL Server 2005 Beta 2 引入了一個專用的管理員連接來訪問正在運行的服務器,即便該服務器沒有響應或不可用。這樣,用戶就可以執行診斷功能或 Transact-SQL 語句,以便對服務器進行故障診斷。該連接需通過 sysadmin 固定服務器角色的成員來激活,並僅通過 SQLCMD 命令提示符實用工具在本地或從遠程計算機才能加以調用。

在 SQL Server 的早期版本中,無法連接到未響應 SQL Server 連接的服務器。如要使用專用的管理員連接,應在命令提示符處執行 SQLCMD 實用工具,使用 -A 開關來指定專用連接。這樣,就可以診斷並修複相關問題了。

SQL 管理對象

SQL 管理對象 (SMO) 是一組新的編程對象,可提供 SQL Server 數據庫的功能。SMO 被當作一個 Microsoft® .NET Framework 程序集來執行。可用 SMO 來實現重複或常見的 SQL Server 管理任務(比如:通過編程方式檢索配置設置,創建新的數據庫,應用 Transact-SQL 腳本,創建 SQL Server 代理作業以及制訂備份計劃)的自動化執行。

SMO 對象模型擴展並取代了 SQL Server 的早期版本所包含的分佈式管理對象 (DMO)。SMO 對 DMO 進行了諸多改進,其中包括一個 .NET Framework 對象模型、高級腳本編寫操作、SQL Server 配置設置的脫機管理、對象的部分或延遲的實例化、捕獲模式執行,委派執行以及可釋放的對象狀態。雖然 SMO 屬於 .NET Framework 類庫,但是仍可以通過組件對象模型 (COM)(僅適用於延遲綁定)使用其功能。關於運用 SMO 的一些例子:

某個 Internet 服務提供商 (ISP) 需要在共享的數據庫環境中爲客戶提供 SQL Server 管理委派。該 ISP 想要提供一個 Web 界面,並限制所能執行的任務類型。該 ISP 的開發小組通過使用 SMO 對象模型來構建一個簡單的管理界面(由該 ISP 提供給客戶),開發出了一個 ASP.NET 應用程序。

一名數據庫管理員想要將基本的管理任務(比如:向公司的 SQL Server 數據庫添加新用戶)委派給幫助臺。一名 IT 開發人員創建一個簡單的 Web 界面(用 SMO 對象模型構建),並在公司 Intranet 的一個安全區域中部署了該界面。

SQL Server 代理

在 SQL Server 2000 中,SQL Server 代理作業在創建其的帳戶下運行。可指定代理帳戶運行 CmdExec 和基於 COM 的作業。SQL Server 2005 Beta 2 在 SQL Server 代理安全性方面作了以下改動:

創建了“代理”用戶角色。只有被明確添加的用戶才能添加、編輯或執行 SQL Server 代理作業。

系統管理員能夠創建一個或多個代理帳戶,同時包含其他 SQL Server 子系統的代理,包括 DTS。

能夠指派用戶或組(SQL Server 組)使用代理帳戶。

可使用 Transact-SQL 或 SQL 管理對象 (SMO) 對每一項 SQL Server 2005 Beta 2 管理操作制訂時間計劃,並由 SQL Server 代理從 SQL Server 加以運行。SQL Server 2005 Beta 2 爲 SQL Server 代理提供了一些新的對象和計數器。Windows 系統監視器可使用這些新的對象和計數器監視 SQL Server 代理的活動,包括已啓用的作業、已啓用的警報,已啓用的計劃,活動作業,活動警報,成功完成的作業的百分比等等。這些計數器還能用於配置由 SQL Server 代理性能計數器條件觸發的警報。

對 Transact-SQL 的改進

SQL Server 2005 Beta 2 在 Transact-SQL 上所做的改進反映了其更好地滿足了 ANSI-99 SQL 規範的要求以及客戶的需求。本節重點介紹對 Transact-SQL 所做的一些改動,這些改動旨在提高查詢功能中的表達能力。

全新的通用表表達式 (CTE) 功能能夠在使用派生表時,生成查詢批。CTE 是一種臨時命名的結果集,可通過定義語句加以引用。由於其形式簡單,可以把 CTE 看作是派生表的改進版本。可在查詢的 FROM 子句中引用 CTE,這與引用派生表和視圖的方法相同。CTE 功能提供了一種靈活的表達方法來重新組織標準化數據。

對 Transact-SQL 添加的最大功能之一是遞歸查詢,改進了操作相關數據的功能。遞歸查詢是一種新的查詢類型,可生成材料清單或分層結果集。提供了新的 PIVOT 和 UNPIVOT 運算符。這些操作符可操作輸入表值表達式,並作爲結果集生成輸出表。PIVOT 運算符可將行通過旋轉轉換爲列,並可能隨之執行歸併或其他數學計算。該運算符在給定透視列的基礎上擴充了輸入表表達式,爲列中每個唯一的值生成一個輸出表。UNPIVOT 運算符可執行 PIVOT 的反操作,將列轉換爲行。該運算符在透視列的基礎上縮小了輸入表表達式。這些新的遞歸查詢提供了一種對數據進行重新定形的方法。

對 Transact-SQL 的一些改進主要針對基於操作符的應用來闡明結果的功能。新的 APPLY 關係運算符允許用戶對外部表表達式的每一行調用一個特定的表值函數。用戶可在查詢的 FROM 子句中指定 APPLY,這與使用 JOIN 關係運算符的方法類似。通過 APPLY 運算符,SQL Server 2005 Beta 2 允許用戶在相關子查詢中引用表值函數。APPLY 運算符有兩種形式:CROSS APPLY 和 OUTER APPLY。CROSS APPLY 可對外部表表達式的每一行調用表值函數。可作爲表值函數的參數來調用外部表的列。CROSS APPLY 可從表值函數的個別調用返回的所有結果中返回一個統一的結果集。如果表值函數返回了給定外部行的一個空集,那麼該外部行不會返回到結果中。OUTER APPLY 非常像 CROSS APPLY,只是還會返回來自外部表(表值函數對其返回一個空集)的行。有關 SQL Server 2005 Beta 2 中的數據重定形和操作功能的更多信息,請參見 SQL Server 聯機叢書。

通過增加錯誤處理功能,SQL Server 2005 Beta 2 改進了查詢的事務功能。SQL Server 2005 Beta 2 以 TRY/CATCH Transact-SQL 構造的形式,引入了一個雖然簡單卻很強大的例外處理機制。SQL Server 2005 Beta 2 可捕獲並處理在 SQL Server 的早期版本中導致某個批處理終止的事務中止錯誤。例如:

SET XACT_ABORT ON BEGIN TRY BEGIN TRAN INSERT
INTO T1 VALUES(1) /* perform other activity */ PRINT 'After
INSERT.'COMMIT END TRY BEGIN CATCH TRAN_ABORT ROLLBACK /*
perform corrective activity */ PRINT 'INSERT failed.'END CATCH

另外,SQL Server 2005 Beta 2 針對安全性、複製、Notification Services、XML 和 .NET Framework 的所有功能提供了新的語言構造。如要了解更多有關 SQL Server 2005 Beta 2 的所有功能的信息,請參見 SQL Server 聯機叢書。

安全方面的增強

SQL Server 2005 Beta 2 大大增強了數據庫平臺的安全模型,旨在爲開發人員和管理員提供更多的管理和安全選項。在涉及廣大領域的衆多功能上做了大量的工作;比如,對 SQL Server 登錄密碼強制執行有關策略(身分驗證領域),在針對不同範圍指定權限時提供更加細化的選擇(授權領域),允許所有人和架構分離(安全管理領域)。

此外,請記住諸如“表層減少”和“最低權限原則”等核心安全原則以及“保護默認值和設計”等完善的原則,在產品的最終版本中還準備進行某些產品級的改動。

兩個特殊的可伸縮性功能

對於超大型的數據庫方案,SQL Server 2005 Beta 2 中有兩個可伸縮性功能值得提一下。通過使用數據庫的一個暫時一致的視圖,快照隔離級別允許用戶訪問所提交的數據庫的最後一行。這一新的隔離級別提供了以下優點:

提高了只讀應用程序的數據可用性

允許在 OLTP 環境中執行非阻止讀取操作

可對寫入事務進行自動的強制衝突檢測

簡化了從 Oracle 到 SQL Server 的應用程序遷移

例如,鎖定會在同時讀取和寫入相同數據的應用程序間設置障礙。如果某個事務更改了某一行,那麼在該寫入操作完成之前,其他事務將無法讀取該行。通過快照隔離,讀取方可以訪問該行上次提交的值。

第二個特殊的可伸縮性功能是表分區功能。對於數據庫業界來說,對錶、數據庫和服務器進行數據分區的概念雖不算新鮮,但 SQL Server 2005 Beta 2 提供了一個新的體系結構功能,用於對數據庫中的文件組進行表分區。水平分區可根據分區架構,將一個表劃分爲幾個較小的分組。表分區功能是針對超大型數據庫(從數百吉字節到數千吉字節或更大)而設計的。超大型數據庫 (VLDB) 查詢性能通過分區得到了改善。通過對廣大分區列值進行分區,可以對數據的子集進行管理,並將其快速、高效地重新分配給其他表。如需瞭解更多有關分區的信息,請參見 SQL Server 聯機叢書。

 

新的數據類型

XML 數據類型。 XML 數據類型允許用戶在 SQL Server 數據庫中保存 XML 片斷或文檔。XML 數據類型的實例可以是表中的列、函數、已保存的過程參數、或者函數或已保存過程中的變量。另外,通過指示相關聯的 XML 架構(同時爲 XML 實例的數據提供驗證約束和類型信息),可以實現 XML 數據類型的專用化。

可通過使用內置的 XML 查詢方法,在 XML 數據類型的實例上執行操作。這些方法可接受適用於 XML 數據的查詢和數據操作語句。然後,可以對保存在 XML 數據類型變量或列中的 XML 指定查詢 (XQuery),並對 XML 實例應用更新(使用插入、更新或刪除功能)。還可以使用 XSD 爲 XML 列創建索引,從而提高查詢性能。

Varchar(max).nvarchar(max) 和 varbinary(max) 數據類型最多可保存 2 吉字節 (GB) 的數據,可取代 text、ntext 或 image 數據類型.

發佈了22 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章