- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 管理对象--.doc
SQL Server 管理对象
本文示例源代码或素材下载
目录
SMO 基础知识
列举服务器
连接到服务器
列举数据库
发出 DDL 或 DML 命令
遍历对象列表
备份数据库
恢复数据库
验证数据库备份
结束语
数据库开发人员不仅必须查询和处理数据,还必须定期执行管理任务。SQL Servertrade; 管理对象 (SMO) 为开发人员提供了强大的工具集,用于备份和恢复数据库,以及发出数据定义语言 (DDL) 命令等操作。通过使用 SQL SMO,您还可以连接到 SQL Server,遍历数据库对象的集合,并对其执行各种任务。
在本期专栏中,我将介绍如何使用 SMO 来检查数据库对象并执行各种管理任务。具体而言,我将介绍如何设计您的项目以使用 SMO 以及如何连接到服务器等主题。我还将介绍一个对数据库发出 DDL 或数据操作语言 (DML) 命令的示例应用程序。最后,我将演示如何使用 SMO 来执行数据库备份、恢复和备份验证。
SMO 基础知识
SMO 是一种 Microsoftreg; . Frameo.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. DataTable:
DataTable dtServers = SmoApplication.EnumAvailableSqlServers(false);
foreach (DataRoe = rop; roe += + roe,
string userName, string passe.IndexOf();
if (slashPos gt;= 0)
{
this.serverName = serverAndInstanceName.Substring(0, slashPos);
this.instance = serverAndInstanceName.Substring(slashPos + 1);
}
else
{
this.serverName = serverAndInstanceName;
this.instance = string.Empty;
}
this.userName = userName;
this.passsdn.moconnections.aspx。
Figure3连接到服务器
public void Connect()
{
server.ConnectionContext.ServerInstance = ServerAndInstanceName;
server.ConnectionContext.LoginSecure = useyDatabasegt;)绑定在一起,该列表包含通常由许多 SMO 方法返回的多功能对象。
发出 DDL 或 DML 命令
SMO 与 ADO. 类似,可用于在数据库上执行命令,使用标准 DML 检索或修改数据。尽管 SMO 未得到优化,不可处理复杂的 DML,但是仍可用于执行简单的 DML 语句。
图 1 中的窗体显示了一个文本框,用户可在其中输入 DML 或 DDL 语句并执行该语句。如果查询应检索行集合(即 SELECT 语句),SMO 将通过其 ExecuteO 将使用其 ExecuteNonQuery 方法执行命令。以下代码示例执行了一次查询并将行集合返回至 ADO. DataSet 中。DataSet 随后被绑定到窗体中的 DataGridViee VARCHAR(100));
文档评论(0)