SQL Server 2008的新特性概述:集成服務(wù)
導(dǎo)讀:SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺(tái)愿景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時(shí)降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶的成本。 SSIS(SQL Server集成服務(wù))是一個(gè)嵌入式應(yīng)用程序,用于開(kāi)發(fā)和執(zhí)行ETL(解壓縮、轉(zhuǎn)換和加載)包。SSIS代替了SQL 2000的DTS。整合服務(wù)功能既包含了實(shí)現(xiàn)簡(jiǎn)單的導(dǎo)入導(dǎo)出包所必需的Wizard導(dǎo)向插件、工具以及任務(wù),也有非常復(fù)雜的數(shù)據(jù)清理功能。SQL Server 2008 SSIS的功能有很大的改進(jìn)和增強(qiáng),比如它的執(zhí)行程序能夠更好地并行執(zhí)行。在SSIS 2005,數(shù)據(jù)管道不能跨越兩個(gè)處理器。而SSIS 2008能夠在多處理器機(jī)器上跨越兩個(gè)處理器 。而且它在處理大件包上面的性能得到了提高。SSIS引擎更加穩(wěn)定,鎖死率更低。
Lookup功能也得到了改進(jìn)。Lookup是SSIS一個(gè)常用的獲取相關(guān)信息的功能。比如從CustomerID查找Customer Name,獲取數(shù)據(jù)集。Lookup在SSIS中很常見(jiàn),而且可以處理上百萬(wàn)行的數(shù)據(jù)集,因此性能可能很差。SQL 2008對(duì)Lookup的性能作出很大的改進(jìn),而且能夠處理不同的數(shù)據(jù)源,包括 ADO.NET,XML,OLEDB和其他SSIS壓縮包。
SQL 2008可以執(zhí)行TSQL的MERGE命令。用MERGE命令,只需一個(gè)語(yǔ)句就可以對(duì)行進(jìn)行 UPDATE、INSERT或 DELETE。下面的例子就是如何用MERGE命令來(lái)把新的Inventory Item descriptions 列表插入已有的Inventory Master中。除了 descriptions, NewInventory表格中還加入了其他一些部分。如果沒(méi)有MERGE語(yǔ)句,就需要執(zhí)行兩個(gè)命令才能完成。第一個(gè)命令查找匹配的Description然后更新。第二個(gè)命令查找不匹配項(xiàng)然后插入。有了MERGE,一個(gè)語(yǔ)句就可以完成這兩個(gè)任務(wù)。
步驟如下:
MERGE InventoryMaster AS im
USING (SELECT InventoryID, Descr FROM NewInventory) AS src
ON im. InventoryID = src. InventoryID
WHEN MATCHED THEN
UPDATE SET im.Descr = src.Descr
WHEN NOT MATCHED THEN
INSERT (InventoryID, Descr) VALUES (src. InventoryID, src.Descr);
SQL Server 2008的功能性很強(qiáng),有著可信任性、高效性、智能性等特點(diǎn),SQL Server 2008新特性即集成服務(wù)功能推進(jìn)了數(shù)據(jù)庫(kù)的發(fā)展。
【編輯推薦】