SqlServer Management Objects簡介

來源:互聯網
上載者:User

Smo是SqlServer Management Objects的簡稱,由SQL2005提供的管理對象,sql-dmo的邏輯進化版本,主要功能由C:/Program Files/Microsoft SQL Server/90/SDK/Assemblies下面的Microsoft.SqlServer.Smo.dll檔案中的相關 對象來實現,可以直接由vs2005開發的程式來引用。

msdn參考文檔:

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.aspx。

文檔中他列舉了7條大的功能,其實毫不誇張地說,只要SQL Server Management Studio能實現的東西,用smo都能實現,因為SQL Server Management Studio就是用smo開發的。如果你有足夠的實力,完全可以開發一個可以藐視SQL Server Management Studio的工具,比如加入智能感知的功能。

具體詳細應用這裡就不展開了,對象太多...只舉一個例子,很多人問的如何產生sql對象的指令碼:

--先搞一個測試環境use tempdbcreate table test(id int identity(1,1))
//添加引用            //Microsoft.SqlServer.ConnectionInfo.dll            //Microsoft.SqlServer.Smo.dll            Microsoft.SqlServer.Management.Common.ServerConnection conn = new Microsoft.SqlServer.Management.Common.ServerConnection(                new System.Data.SqlClient.SqlConnection("server=localhost;uid=sa;pwd=***;database=master"));//一個資料庫連接字串            Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(conn);            Microsoft.SqlServer.Management.Smo.Database db = server.Databases["tempdb"];            Microsoft.SqlServer.Management.Smo.Table tb= db.Tables["test"];            System.Collections.Specialized.StringCollection sc= tb.Script();            foreach (String s in sc)            {                Console.WriteLine(s);            }

輸出: SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE TABLE [dbo].[test]( [id] [int] IDENTITY(1,1) NOT NULL ) ON [PRIMARY]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.