欢迎来到天天文库
浏览记录
ID:9505769
大小:71.50 KB
页数:10页
时间:2018-05-01
《sql server 管理对象--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQLServer管理对象>> 本文示例源代码或素材下载目录 SMO基础知识 列举服务器 连接到服务器 列举数据库 发出DDL或DML命令 遍历对象列表 备份数据库 恢复数据库 验证数据库备份 结束语 数据库开发人员不仅必须查询和处理数据,还必须定期执行管理任务。SQLServer™管理对象(SMO)为开发人员提供了强大的工具集,用于备份和恢复数据库,以及发出数据定义语言(DDL)命令等操作。通过使用SQLSMO,您还可以连接到SQLServer,遍历数据库对象的集合,并对其执
2、行各种任务。 在本期专栏中,我将介绍如何使用SMO来检查数据库对象并执行各种管理任务。具体而言,我将介绍如何设计您的项目以使用SMO以及如何连接到服务器等主题。我还将介绍一个对数据库发出DDL或数据操作语言(DML)命令的示例应用程序。最后,我将演示如何使用SMO来执行数据库备份、恢复和备份验证。 SMO基础知识 SMO是一种Microsoft®.Frameo.dll和Microsoft.SqlServer.ConnectionInfo.dll。前者包含核心SMO类(如数据库、服务器、备份和恢复),
3、而后者包含有助于管理与SQLServer对象之间的连接的类库。在许多情况下,您还需要引用Microsoft.SqlServer.SqlEnum.dll和Microsoft.SqlServer.SmoEnum.dll,其中前者主要包含有用的枚举;后者提供用于以编程方式访问统一资源名称(URN)地址的Urn类,URN地址用于唯一标识MicrosoftSQLServer对象。 列举服务器 您可使用SMO来检索网络上安装的SQLServer列表。您可指定参数,以控制是在网络上还是仅在本地搜索SQLServer。Smo
4、Application类提供了一种名为EnumAvailableSqlServers的静态方法。如果传递的Boolean值为true,该方法将仅搜索和返回所有本地服务器。如果向本方法传递的值为false,则该方法将搜索网络上的所有可用服务器。以下代码将获取网络上SQLServer的实例列表,并将其返回至ADO.DataTable:DataTabledtServers=SmoApplication.EnumAvailableSqlServers(false);foreach(DataRoe=rop;roe+=+ro
5、e, stringuserName,stringpasse.IndexOf(); if(slashPos>=0) { this.serverName=serverAndInstanceName.Substring(0,slashPos); this.instance=serverAndInstanceName.Substring(slashPos+1); } else { this.serverName=serverAndInstanceName; this.instance=string.Em
6、pty; } this.userName=userName; this.passsdn.moconnections.aspx。Figure3连接到服务器publicvoidConnect(){ server.ConnectionContext.ServerInstance=ServerAndInstanceName; server.ConnectionContext.LoginSecure=useyDatabase>)绑定在一起,该列表包含通常由许多SMO方法返回的多功能对象。 发出DDL或DML命令
7、 SMO与ADO.类似,可用于在数据库上执行命令,使用标准DML检索或修改数据。尽管SMO未得到优化,不可处理复杂的DML,但是仍可用于执行简单的DML语句。 图1中的窗体显示了一个文本框,用户可在其中输入DML或DDL语句并执行该语句。如果查询应检索行集合(即SELECT语句),SMO将通过其ExecuteO将使用其ExecuteNonQuery方法执行命令。以下代码示例执行了一次查询并将行集合返回至ADO.DataSet中。DataSet随后被绑定到窗体中的DataGridVieeVARCHAR(100)
8、); db.ExecuteNonQuery(sql); 遍历对象列表 SMO还可用于找到特定的数据库对象并对其执行与上下文相关的操作。SMO的Database类提供了其包含的每个对象的一系列集合。图4显示了Database类提供的不同集合的部分列表。Figure4集合默认值FileGroups(文件组)角色规则架构StoredProcedures(存储过程)表触发器
此文档下载收益归作者所有