在 MSDN 上搜到 SQL-DMO 參考 :
后續(xù)版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發(fā)工作中使用該功能,并著手修改當(dāng)前還在使用該功能的應(yīng)用程序。
SQL Server 分布式管理對象 (SQL-DMO) 是封裝了 Microsoft SQL Server 數(shù)據(jù)庫管理和復(fù)制管理的對象所組成的集合。SQL-DMO 允許您對管理 SQL Server 的應(yīng)用程序進(jìn)行計(jì)劃。SQL-DMO 參考包含有關(guān)對象、集合、屬性、方法、事件、常量和示例程序的詳細(xì)信息。
SQL-DMO 已被 SQL Server 管理對象 (SMO) 取代。
于是又查閱了下
SMO的概述
:
SQL Server 管理對象 (SMO) 是針對 Microsoft SQL Server 的編程管理設(shè)計(jì)的對象。可以使用 SMO 生成自定義 SQL Server 管理應(yīng)用程序。盡管 SQL Server Management Studio 是用于管理 SQL Server 的使用廣泛的強(qiáng)大應(yīng)用程序,但有時(shí) SMO 應(yīng)用程序可能對您更為適用。
例如,可能需要簡化控制 SQL Server 管理任務(wù)的用戶應(yīng)用程序,以滿足新用戶的需要并且降低培訓(xùn)成本。您可能需要?jiǎng)?chuàng)建自定義 SQL Server 數(shù)據(jù)庫,或創(chuàng)建用于創(chuàng)建和監(jiān)控索引效率的應(yīng)用程序。還可以使用 SMO 應(yīng)用程序?qū)⒌谌接布蜍浖o縫納入數(shù)據(jù)庫管理應(yīng)用程序。
SMO 對象模型擴(kuò)展并取代了分布式管理對象 (SQL-DMO) 對象模型。與 SQL-DMO 相比,SMO 提高了性能、加強(qiáng)了控制,并且更易于使用。SMO 中包括大部分 SQL-DMO 功能,并且還有很多新類用于支持 SQL Server 中的新增功能。該對象模型直觀明了,并且盡量使用 SQL-DMO 術(shù)語,以幫助您進(jìn)行技能過渡。
由于 SMO 與 SQL Server 2000、SQL Server 2005 和 SQL Server 2008 兼容,您可以輕松管理多版本環(huán)境。
....
SMO 命名空間為 Microsoft.SqlServer.Management.Smo 。SMO 作為 Microsoft .NET Framework 程序集實(shí)現(xiàn)。這意味著使用 SMO 對象之前必須先安裝 Microsoft .NET Framework 版本 2.0 中的公共語言運(yùn)行時(shí)。SMO 程序集隨 SQL Server SDK 選件默認(rèn)安裝到全局程序集緩存 (GAC) 中。這些程序集位于 C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\ 中。有關(guān)詳細(xì)信息,請參閱 Visual Studio .NET Framework 文檔。

SMO 類包括兩個(gè)類別:實(shí)例類和實(shí)用工具類。
實(shí)例類
實(shí)例類表示 SQL Server 對象,如服務(wù)器、數(shù)據(jù)庫、表、觸發(fā)器和存儲過程。 ServerConnection 類用于與 SQL Server 實(shí)例建立連接,并且控制發(fā)送到它的命令的捕獲模式。
SMO 實(shí)例對象所構(gòu)成的層次結(jié)構(gòu)代表了數(shù)據(jù)庫服務(wù)器的層次結(jié)構(gòu)。頂部為 SQL Server 實(shí)例,其下為數(shù)據(jù)庫,再下面是表、列、觸發(fā)器等。如果存在一個(gè)父級對多個(gè)子級的關(guān)系(如某個(gè)表具有一個(gè)或多個(gè)列)是符合邏輯的,那么子級將由對象集合來表示。否則子級僅由對象來表示。
實(shí)用工具類
實(shí)用工具類是為執(zhí)行特定任務(wù)而顯式創(chuàng)建的一組對象。根據(jù)功能將它們劃分為不同的對象層次結(jié)構(gòu):
-
傳輸類。用于向其他數(shù)據(jù)庫傳輸架構(gòu)和數(shù)據(jù)。
-
備份和還原類。用于備份和還原數(shù)據(jù)庫。
-
腳本程序類。用于創(chuàng)建腳本文件,以重新生成對象及其依賴關(guān)系。
...
SMO 對象模型取代了 SQL-DMO。SMO 支持 SQL Server 2000、SQL Server 2005 和 SQL Server 2008。它支持更多 SQL Server 管理任務(wù)并包含 SQL Server 中的許多新功能。SMO 設(shè)計(jì)用于提高效率和加強(qiáng)控制。
DMO 庫是一個(gè) COM 對象模型,而 SMO 作為 .NET Framework 程序集實(shí)現(xiàn)。COM 組件是一些庫,這些庫向應(yīng)用程序提供可重用的功能并且采用非托管應(yīng)用程序編程方式。.NET Framework 程序集提供可重用功能,供 .NET Framework 編寫托管代碼應(yīng)用程序。
向 .NET Framework 技術(shù)過渡的過程中,編寫應(yīng)用程序可采用部分托管代碼和部分非托管代碼。.NET Framework 支持與 COM 組件建立接口連接,這需要一個(gè)主互操作程序集。SQL-DMO 需要運(yùn)行時(shí)包裝,以便從基于 .NET Framework 的應(yīng)用程序進(jìn)行調(diào)用。
看樣,學(xué)習(xí)SQL Server的管理與控制,以后就全面研究SMO這個(gè)命名空間了。但是如果你想在SQL Server 2008中使用SQL-DMO,你可以下載
Microsoft SQL Server 2008 功能包
中的
Microsoft SQL Server 2005 向后兼容組件
。
另注:
Sql Buddy
這個(gè)工具是開源的,用C#代碼編寫的。我決定使用SMO重寫
Sql Buddy
這個(gè)工具以符合潮流。由于我對SQL-DMO和SMO都不熟悉。這可能要花費(fèi)一段時(shí)間。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
