SMO介绍.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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 += @”” + row[“Instance”].ToString(); } 它随后将遍历 DataTable 各行并格式化 SQL Server 及其实例(如果存在实例)的名称。遗憾的是,本方法不大可靠,原因是它依赖于结合了超时的 UDP 广播,因此可能会得到不一致或不完整的结果。 连接到服务器 当使用 SMO 构建应用程序时,首先执行的步骤之一通常是连接到 SQL Server 实例。这里没什么特别之处;建立连接需要您传递 SQL Server 的名称(如果存在多个实例,还需要其实例名称)以及登录凭据。如果想使用 Windows? 身份验证建立连接,您可使用 SMO 指定这种方式。但如果想使用 SQL 身份验证建立连接,则必须传递有效的登录名和密码。 图 1 显示了一个示例应用程序,其中用户可输入 SQL Server 实例名称和他的凭据。在本图中,输入了一个实例化的 SQL Server 的名称,并告诉它使用 Windows 身份验证连接到服务器。当单击“连接”按钮时,便会填充数据库列表。 图 1通过 SMO 连接到服务器 在示例应用程序中创建一个名为 SMOHelper 的类,以协助提供我的应用程序将用到的一些通用例程。SMOHelper 类的实例可用于和单个 SQL Server 交互。该实例拥有一个构造函数,负责接受通过 Windows 或 SQL Server 身份验证连接到服务器所需的信息。图 2 显示了负责获取和设置适当类属性的 SMOHelper 构造函数,此类的方法将使用类属性来执行数据库操作。

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档