在SQL Server 2008中,關系數據庫引擎的新增功能相對較多,本文將主要針對應用開發人員和數據庫 管理員比較關心的新增特性進行詳細的說明。
與開發人員相關的新增特性:
Change Data Capture (CDC):變化數據捕獲,可以捕獲SQL Server數據表中的新增、修改和更新,並 以一種易於使用的格式提供。CDC是SQL Server 2008中新增的一項非常重要的功能,在BI應用中從業務數 據庫抽取更新數據到數據倉庫時非常有用。隨後會有專文介紹CDC。
DDL Triggers and Event Notifications:除了SQL Server 2005中的DDL語句外,SQL Server 2008可 以為某些行為等同於DDL的存儲過程增加觸發器。
Merge:T-SQL中新增的Merge語句支持批量數據的新增/更新/刪除,通過兩個表類型數據的Join,按照 Join的不同情況對目標表按源表的數據作增刪改操作。
Table-Valued Parameters:存儲過程和函數中新增表值參數類型的支持,可以將多行數據放在一個參 數中傳遞到存儲過程和函數中。
Group By 增強:Group by中新增了Rollup,Cube和Grouping Sets子句,用於分組後的數據統計。
Insert 增強:支持一條Insert語句中插入多條數據。
Table Hints 增強:新增了Force Seek,強制查詢優化器僅使用Index Seek。
hierarchyid Data Type:新增的hierarchyid數據類型用於層次化數據的支持,SQL Server 2008在 hierarchyid類型上提供了層次化數據處理的一些基本功能。
FILESTREAM存儲,允許SQL Server將非結構化數據存儲在文件系統上。
Plan Guide增強。可以通過Hints微調查詢計劃。
空間數據的支持,存儲,查詢,索引等。微軟2007年加入了OGC(Open Geospatial Consortium)。
SSMS加入IntelliSense支持。
SSMS中打開表時,返回Top N的功能又回來了。
Filtered Indexes and Statistics,支持在表的一部分數據上建立索引和統計,而不是在全部數據上 。
全文索引緊密集成到了關系數據庫引擎中,而不是像SQL Server 2005那樣由另外的進程提供。
與數據庫管理員(DBA)相關的新增特性:
Dynamic Management Views (DMVs):動態管理視圖中新增了內存、依賴項方面的多個視圖。
Data Collector:可以從不同的數據源進行數據收集。
Backup 壓縮:僅有Enterprise以上版本支持備份壓縮,所有版本都支持從壓縮過的備份恢復。
Declarative Management Framework支持對Server Group進行管理,這是通過Configuration Servers 實現的。具體應用的時候,可以支持T-SQL同時在N台Server上同時執行。
運行時添加CPU。這個功能可以在硬件升級時保持可用。
表分區交換功能。大型的數據倉庫非常有用,SQL Server 2008中通過對Alter Table語實擴展,提供 了更為方便的表分區交換調用。
資源管理,CPU和內存等資源的管理。
管理方面新增Extensible Key Management和透明數據加密。
服務器管理和維護方面的大幅增強。
PowerShell Provider and Cmdlets,方便在PowerShell中對SQL Server 2008進行管理。
另外一些系統功能的增強,但不需要顯式來使用的特性有:
Optimized Bitmap Filter:Oracle有顯式的Bitmap類型索引,SQL Server則在並行查詢計劃中動態的 使用Bitmap過濾,在星型架構(Star Schema)下可大幅提高事實表中無效的記錄。
Database Mirror:增強了日志性能,增加了自動從Partner修復錯誤的數據頁的功能。增強了分區表 查詢時的性能。
稀疏數據存儲優化。
增強之外,也有一些功能逐步移除或替代了,雖然在SQL Server 2008中依舊支持,但在將來的版本中 將會逐漸消失。在性能計數器或跟蹤中,這部分功能會明確的標出廢棄。
從SQL Sever2005開始,SQL Server不再僅僅是一個數據庫軟件,而是往企業數據庫平台的方向發展, 另外SQL Sever在ETL,OLAP,Data Mining,Reporting,Application Server等方向都有很多的改進。