SQLServerManagementObjects(SMO)介绍.docx
上传人:sy****28 上传时间:2024-09-14 格式:DOCX 页数:6 大小:430KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

SQLServerManagementObjects(SMO)介绍.docx

SQLServerManagementObjects(SMO)介绍.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

家用制氧机十大品牌http://www.qingyangblog.com最近在项目中用到了有关SQLServer管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQLCLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQLServer帮助文档、MSDN及StackOverFlow等网站,这些网站基本上都是英文的,为了便于一些英文不好的开发者学习,周公在自己的理解上加以整理成系列,不到之处请大家谅解。SMO简介SMO是英文SQLServerManagementObjects的缩写,意思是SQLServer管理对象系列,包含了一些列的命名空间(namespace)、动态链接库(dll)和类(class)。这些类偏重于SQLServer的管理,并且在底层是通过SQLServer数据库提供程序(System.Data.SqlClient)下的类来与SQLServer来进行交互的。可以通过编程的方式利用SMO来管理SQLServer7.0以上的版本(SQLServer7.0/2000/2005/2008),如果低于以上版本的SQLServer则无法利用SMO来管理(除了历史原因遗留的系统,在现在的开发中那些不受支持的SQLServer算是和Windows95一样的古董了)。同时,要使用SMO的话,必须安装SQLServerNativeClient,一般情况下当我们安装.NetFramework2.0以上版本或者SQLServer2005以上版本时就会自动安装上了。在32位系统下如果安装的是SQLServer2005并且没有更改安装路径,则SMO程序集的路径是:C:\ProgramFiles\MicrosoftSQLServer\90\SDK\Assemblies,相应的,如果安装的是SQLServer2008,则SMO程序集的路径就是C:\ProgramFiles\MicrosoftSQLServer\100\SDK\Assemblies,如果是在64位系统下安装,则根据安装的SQLServer的版本来判断是在ProgramFiles(x86)还是在ProgramFiles下面的对应目录下。在SMO中有如下命名空间:Microsoft.SqlServer.Management.Common、Microsoft.SqlServer.Management.Nmo、Microsoft.SqlServer.Management.Smo、Microsoft.SqlServer.Management.Smo.Agent、Microsoft.SqlServer.Management.Smo.Broker、Microsoft.SqlServer.Management.Smo.Mail、Microsoft.SqlServer.Management.Smo.RegisteredServers、Microsoft.SqlServer.Management.Smo.Wmi、Microsoft.SqlServer.Management.Trace,关于这些命名空间在哪个dll中以及该命名空间下有哪些类,大家可以查阅SQLServer的帮助文章或者查阅在线MSDN,例如查看命名空间下的类可以浏览:SMO体系架构我们知道在SQLServer体系中处于顶层是SQLServer实例,每个实例会有多个数据库,每个数据库会有多个表、存储过程、函数、登录账号等,每个表会有列、索引、主键等信息,每个列会有列名、默认值、字段大小等信息,在SMO中有与之相对应的一套类体系结构。在DatabaseCollection中每个元素都是一个Database类的实例,分别对应数据实例中的一个数据库;在TableCollection中每个元素都是一个Table的实例,分别对应数据库中的一个表;在ColumnCollection中每个元素都是一个Column类的实例,分别对应表中的每一列,以上这些类都位于Microsoft.SqlServer.Management.Smo命名空间下,在Microsoft.SqlServer.Smo.dll这个dll中。当然,在Microsoft.SqlServer.Management.Smo命名空间中的类远不止上面提到的这些,上面的表格只是做了一个简单的类比。SMO用法示例上面的文章只是做了一个简单的介绍,也许通过上面枯燥的介绍大家没什么印象,下面通过一段简单的代码来简单演示一下用法,首先要添加响应的引用。在VS2008中可以直接通过下面的方式添加引用:但是在VS2010中就没有这