SQL Server 管理对象(SQLSMO)

本文介绍了SQL Server Management Objects(SQL SMO),它是用于管理和创建SQL Server实例的强大工具。在泉林包装项目中被应用,详细内容可参考提供的项目链接。
摘要由CSDN通过智能技术生成

在泉林包装项目中有使用,具体参考该项目

资料来源:http://msdn.microsoft.com/zh-cn/magazine/cc163409.aspx#S4

代码下载位置: DataPoints2007_06.exe (173 KB)
Browse the Code Online

数据库开发人员不仅必须查询和处理数据,还必须定期执行管理任务。SQL Server? 管理对象 (SMO) 为开发人员提供了强大的工具集,用于备份和恢复数据库,以及发出数据定义语言 (DDL) 命令等操作。通过使用 SQL SMO,您还可以连接到 SQL Server,遍历数据库对象的集合,并对其执行各种任务。
在本期专栏中,我将介绍如何使用 SMO 来检查数据库对象并执行各种管理任务。具体而言,我将介绍如何设计您的项目以使用 SMO 以及如何连接到服务器等主题。我还将介绍一个对数据库发出 DDL 或数据操作语言 (DML) 命令的示例应用程序。最后,我将演示如何使用 SMO 来执行数据库备份、恢复和备份验证。

SMO 基础知识
SMO 是一种 Microsoft ? .NET Framework 对象库,可让您管理一个或多个数据库服务器。其目的在于使用 SQL Server 2005 引入的新功能,但它还将连接到支持各自旧版功能的 SQL Server 2000 数据库。但是,部分 SMO 的类、属性和方法只能与 SQL Server 2005 配合使用才能支持诸如 SQL Service Broker 和快照隔离之类的新功能。
虽然基于 COM 的 SQL 分布式管理对象 (SQL-DMO) 仍附带有 SQL Server 2005,但是它未经更新,不能像 SMO 一样可直接访问最新的 SQL Server 2005 功能。设计管理 SQL Server 数据库的 .NET 应用程序时,建议您优先选择 SQL SMO,而不推荐使用具有 DMO 的 COM interop。您还应当考虑升级目前使用 DMO 的应用程序,以转而使用 SMO。
您可在安装 Microsoft ? SQL Server 2005 时勾选“安装客户端工具”选项来安装 SMO。然后在创建即将使用 SMO 的项目时,应首先引用适当的程序集。您必须引用的两个主要 DLL 是 Microsoft.SqlServer.Smo.dll 和 Microsoft.SqlServer.ConnectionInfo.dll。前者包含核心 SMO 类(如数据库、服务器、备份和恢复),而后者包含有助于管理与 SQL Server 对象之间的连接的类库。在许多情况下,您还需要引用 Microsoft.SqlServer.SqlEnum.dll 和 Microsoft.SqlServer.SmoEnum.dll,其中前者主要包含有用的枚举;后者提供用于以编程方式访问统一资源名称 (URN) 地址的 Urn 类,URN 地址用于唯一标识 Microsoft SQL Server 对象。

列举服务器
您可使用 SMO 来检索网络上安装的 SQL Server 列表。您可指定参数,以控制是在网络上还是仅在本地搜索 SQL Server。SmoApplication 类提供了一种名为 EnumAvailableSqlServers 的静态方法。如果传递的 Boolean 值为 true,该方法将仅搜索和返回所有本地服务器。如果向本方法传递的值为 false,则该方法将搜索网络上的所有可用服务器。以下代码将获取网络上 SQL Server 的实例列表,并将其返回至 ADO.NET DataTable:
复制代码
DataTable dtServers = SmoApplication.EnumAvailableSqlServers(false);  foreach (DataRow row in dtServers.Rows)  {    string sqlServerName = row[“Server”].ToString();    if (row[“Instance”] != null && row[“Instance”].ToString().Length > 0)        sqlServerName += @”\” +
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值