SQL Sever 2005提供了很多新特征和改進之處,這些可以提高生產力、勞動效率,增強有效性,降低管理難度。本文討論了SQL Server 2005數據庫引擎的10個高級特征。
1. 數據庫鏡像
數據庫鏡像是SQL Server 2005的一個高實用性特征。這類似於由於備援失效而導致的服務器聚類,備援失效是由袖手旁觀的服務器引起;它們的不同之處在於數據庫鏡像是在數據庫水平,而不是服務器水平。主數據庫不斷地發送事務日志到SQL Sever實例的備份數據庫。第三個SQL Sever實例作為證據數據庫,監控主數據庫與鏡像數據庫之間的交互作用。
2. 數據庫快照
數據庫快照本質上是數據庫一個即時只讀拷貝,並且是任何類型報告方案很好的候選方案。它不僅僅是一個很好的報告工具,並且在發生錯誤事件時,可以用於恢復對主數據庫和快照數據庫的控制。數據丟失可能開始於數據庫快照的創建點,結束於故障事件的發生。
3. CLR綜合
通過SQL Sever 2005,可以創建帶數據庫引擎的自定義.NET對象。例如:可以采用熟悉的.Net語言C#和VB等創建存儲程序、觸發器和函數。揭示SQL Sever 2005的這些功能,為你提供了以前沒有用過的工具。
4. 服務經紀人(Service Broker)
應用此特征,可通過TSQL在數據庫中創建異步的基於消息的應用程序。數據庫引擎保證消息傳送、消息序列一致性和句柄消息分組。另外,Service Broker可以在不同的SQL Sever實例中發送消息。同時它也應用於SQL Sever 2005其他特征中。例如:當有人試圖改變表結構,或出現登陸失敗的字符串時,Service Broker可以定義數據庫中的Event Nonfictions發送消息到Queue。
5. DDL觸發器
在以前的文章中,我概述了在SQL Server 2005中使用數據定義語言(DDL)觸發器執行自定義數據庫,並且闡述了Sarbanes-Oxley的靈活性服務器審計方案(這裡是我SOX文章第一章和第二章)。DDL觸發器在服務器或數據庫水平上進行定義,並且當DDL聲明出現時,觸發器激活。它可以用於新表、存儲程序創建或登陸時,進行審計。
6. 排列功能
SQL Server 2005允許排列從數據庫引擎返回的結果集。允許定制結果集返回的風格,例如:為Web站點數據創建定制的頁面調度功能。
7. 基於數據版本的行隔離水平
這個數據庫引擎新特征,通過減少數據庫中鎖的數量,提高同時讀數據庫的能力。這個特征有兩個版本(它們都在數據庫水平被激活):
使用行版本的讀隔離用於單個聲明水平,它在聲明的持續時間內保證數據的一致性。
快照隔離用於事務水平,它在事務的持續時間內保證數據的一致性。
數據庫引擎通過存儲在臨時數據庫中的行版本,保證數據的一致性。當聲明和事務在它們各自的隔離水平被引用時,讀操作訪問相同的數據,這些數據已經包含在事務中,並且從數據的前版本讀出來,保存在臨時數據庫中。在恰當的情況下,使用這些技術可以明顯減少鎖數據庫的問題。
8. XML綜合
SQL Server 2005引進了新的XML數據類型。可以用此數據類型存儲完整的XML文檔,並且可以在加工好的文檔中放置確認信息。另外的改進包括:XML文檔的查詢能力和在XML數據類型上創建索引。
9. TRY...CATCH
在以前的文章中,我概述了在 SQL Server 2005中如何使用新的TRY...CATCH結構捕獲並處理死鎖問題。這個期待已久的特征簡化了數據庫中出錯的處理。
10. 數據庫郵件
數據庫郵件是對SQL郵件的繼承,它是對數據庫引擎上電子郵件的巨大改進。有了數據庫郵件,則不再依賴Microsoft Outlook或 MAPI 電子郵件客戶程序。數據庫郵件使用標准SMTP發送e-mail信息。這些信息有可能包含查詢結果和附件(由DBA進行管理)。另外,e-mail處理在數據庫引擎空間的外部進行,這意味著在數據引擎停止後,消息也能繼續進行排隊。
Tim Chapman是KY,Louisville一家銀行的SQL Server數據庫管理員,具有7年的IT工作經驗。