比较 SMO 和 SQL-DMO
SQL Server 管理对象 (SMO) 为 SQL Server 2005 中引入的托管代码对象模型。它取代了 SQL 分布式管理对象 (SQL-DMO)。与 SQL-DMO 类似,SMO 提供了用于管理 SQL Server 的对象。编程模型已经过改进,并且已增加对象数目从而包括 SQL Server 2005 中引入的功能。从 SQL Server 2008 开始,SMO 基于 SQL Server 基础类 (SFC)。在 SQL Server 2008 中还引入了基于策略的管理对象模型 (DMF)。
SMO 包括以下功能:
改进的性能。仅当具体引用对象时才会加载对象。创建对象时仅部分加载对象属性。其余对象将在直接被引用时进行加载。
捕获并成批执行 Transact-SQL 语句。可以捕获语句并将其作为批发送以提高网络性能。
通过 WMI 提供程序管理 SQL Server 服务。可以通过编程方式启动、停止和暂停 SQL Server 服务。
高级脚本编写。可以生成 Transact-SQL 脚本重新创建 SQL Server 对象以描述与 SQL Server 实例上其他对象之间的关系。
数据传输可借助于脚本编写功能并使用 Integration Services。
使用唯一资源名称 (URN)。
事件处理功能,它允许开发人员插入发生特定事件时要执行的代码。
用于标识特定于 SMO 错误的异常。
包含更多数据库对象。例如,ForeignKey 对象允许对外键进行更多控制。
SMO 还通过新对象或新属性来表示 SQL Server 2005 中引入的许多功能和组件。这些新增的功能和组件包括:
用于在分区方案上存储数据的表和索引分区。有关详细信息,请参阅已分区表和已分区索引概念。
用于管理 SOAP 请求的 HTTP 端点。有关详细信息,请参阅 SOAP 会话的支持机制。
旨在提高并发性的快照隔离和行级版本控制。有关详细信息,请参阅使用快照隔离。
XML 架构集合、XML 索引和 XML 数据类型提供对 XML 数据的验证和存储。有关详细信息,请参阅使用 XML 架构和使用 XML 数据类型。
用于创建数据库只读副本的视点数据库。
Service Broker 对基于消息的通信的支持。有关详细信息,请参阅 SQL Server Service Broker。
针对 SQL Server 数据库对象的多个名称的同义词支持。有关详细信息,请参阅同义词简介。
数据库邮件管理,它允许您在 SQL Server 中创建电子邮件服务器、电子邮件配置文件和电子邮件帐户。有关详细信息,请参阅数据库邮件。
已注册的服务器对注册连接信息的支持。有关详细信息,请参阅管理已注册的服务器。
跟踪和重播 SQL Server 事件。有关详细信息,请参阅使用 SQL Server Profiler和使用 SQL 跟踪。
针对用于安全控制的证书和密钥的支持。有关详细信息,请参阅加密层次结构。
用于在发生 DDL 事件时添加功能的 DDL 触发器。有关详细信息,请参阅 DDL 触发器。