SQL Server管理对象

目录

SMO 基础知识

列举服务器

连接到服务器

列举数据库

发出 DDL 或 DML 命令

遍历对象列表

备份数据库

恢复数据库

验证数据库备份

结束语

数据库开发人员不仅必须查询和处理数据,还必须定期执行管理任务。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 对象。

时间: 2024-09-17 04:36:29

SQL Server管理对象的相关文章

SQL server警报类型详解

一个警报响应一种特定的事件. 警报响应下列事件类型: 1.SQL Server 事件: 可以指定一个警报响应一个或多个事件. 使用下列参数来指定触发警报的事件: 错误号 SQL Server 代理在发生特定错误时发出警报. 例如,可以指定错误号 2571 来响应未经授权就尝试调用数据库控制台命令 (DBCC) 的操作. 严重级别 SQL Server 代理在发生特定级别的严重错误时发出警报. 例如,可以指定严重级别 15 来响应 Transact-SQL 语句中的语法错误. 数据库 SQL Se

SQL Server编程系列(1):SMO介绍

原文:SQL Server编程系列(1):SMO介绍 续篇:SQL Server编程系列(2):SMO常用对象的有关操作 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档.MSDN及StackOverFlow等网站,这

了解SQL Server 2005五个有用的动态管理对象

SQL Server 2005的新功能为动态管理对象,它们是在指定时间返回某个数据库实例的特殊状态信息的数据库视图或函数.这些对象允许数据库管理员或开发者对数据库服务器进行高效监控.动态管理对象取代了SQL Server以前版本中的许多系统表格,但也为数据库管理员提供更多观测手段. 服务器上需要监控的内容,几乎都有对应的动态管理对象.既然有这么多动态管理对象,在这篇文章中逐一进行讨论是不实际的.例如,共有12类动态管理对象,但这里我主要讨论我认为相当重要的五个对象,它们分别来自与SQL Serv

SQL Server 2005新特性

一.企业级数据管理 在当今的互联世界中,数据和管理数据的系统必须始终为用户可用且能够确保安全,有了SQL Server 2005,组织内的用户和IT专家将从减少应用程序宕机时间.提高可伸缩性及性能.更紧密的安全控制中获益.SQL Server 2005 也包括了很多新的和改进的功能来帮助企业的IT团队更有效率的工作.SQL Server 2005 包括了几个在企业级数据管理中关键的增强: 易管理 可用性 可伸缩性 安全性 1.易管理 SQL Server 2005 能够更为简单的部署.管理和优化

SQL Server 2005 中的商务智能和数据仓库(2)

例如,设想一个"客户"维度.关系型源表有八列: • 客户键 • 客户名称 • 年龄 • 性别 • 电子邮件 • 城市 • 地区 • 国家 相应的 Analysis Services 维度应具有七个属性: • 客户(整型键.以"客户名称"作为名称) • 年龄.性别.电子邮件.城市.地区.国家 数据中存在一种自然层次结构,{国家.地区.城市.客户}.出于导航目的,应用程序开发人员可以选择创建第二个层次结构:{年龄.性别}.商务用户并没有看到这两个层次结构行为方式之间有何

SQL Server 2005 中的商务智能和数据仓库(1)

本文概述了 SQL Server 2005 Beta 2 中"商务智能"平台的增强功能.本文并非实施指南,而是为读者提供了关于"商务智能"平台增强功能的信息. 一.简介 Microsoft SQL Server 2005 是一个完整的商务智能 (BI) 平台,其中为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性.工具和功能.本文简要介绍了您在构建分析应用程序时将要用到的一些工具,并着重介绍了一些新增功能,这些新增功能使复杂 BI 系统的构建和管理比以往更

学习:在SQL Server 2000 数据仓库中使用分区

server|sql|数据 分区视图联接来自一组成员的水平分区数据,使数据看起来象来自同一张表.SQL Server 2000 区分本地分区视图和分布式分区视图.在本地分区视图中,所有相关表和视图驻留在 SQL Server 的同一实例上.在分布式分区视图中,相关表中至少有一张表驻留在其他某个(远程)服务器上.建议您不要将分布式分区视图用于数据仓库应用程序. 矢量数据仓库围绕事实(标量)和矢量构建,从物理上通常表示为星形架构和雪花形架构,极少有同时包含事实和矢量的完全非正交化的平面表.由于矢量架

在C#中运用SQLDMO备份和恢复SQL Server数据库

server|备份|恢复|数据|数据库     SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象.SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口,所以它可以执行很多功能,其中当然也包括对数据库的备份和恢复. SQLDMO由Microsoft SQL Server自带的SQLDMO.dll提供,由于SQLDMO.dll是一个COM对象(有关C

在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库

server|备份|恢复|数据|数据库 在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库 SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象.SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口,所以它可以执行很多功能,其中当然也包括对数据库的备份和恢复. SQLDMO由Microsoft SQL Server自带的