Сравнение 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 Foundation classes (SFC). Модель объектов управления на основе политик (DMF) также введена в
Модель SMO обладает следующими особенностями.
Повышенная производительность. Объекты загружаются только тогда, когда на них производится ссылка. Свойства объекта загружаются при создании объекта лишь частично. Остальные свойства объекта загружаются, когда на них делается прямая ссылка.
Перехват и пакетное выполнение инструкций Transact-SQL. Инструкции можно перехватывать и отправлять в виде пакета для повышения производительности сети.
Управление службами SQL Server с помощью поставщика WMI. Службы SQL Server можно запускать, останавливать и приостанавливать программным путем.
Поддержка сложных сценариев. Можно формировать сценарии Transact-SQL для повторного создания объектов SQL Server, которые описывают связи с другими объектами экземпляра SQL Server.
Исключение средств передачи данных из состава функций поддержки сценариев и использование для этой цели служб Integration Services.
Использование уникальных имен ресурсов (URN).
Обработка событий, которая позволяет разработчику вставлять код, выполняемый при возникновении заданного события.
Использование исключений для выявления характерных для SMO ошибок.
Лучшая организация работы с объектами баз данных. Например, объект ForeignKey обеспечивает больше функций управления внешними ключами.
В SMO в виде новых объектов и свойств представлены многие функции и компоненты, введенные в SQL Server 2005. В число этих новых функций и компонентов включены следующие.
Секционирование таблиц и индексов для хранения данных в схеме секционирования. Дополнительные сведения см. в разделе Основные понятия секционированных таблиц и индексов.
Конечные точки HTTP для управления SOAP-запросами. Дополнительные сведения см. в разделе Поддержка сеансов SOAP.
Изоляция моментальных снимков и управление версиями на уровне строк для повышения параллелизма. Дополнительные сведения см. в разделе Работа с изоляцией моментального снимка.
Коллекции схем XML, XML-индексы и типы данных XML, обеспечивающие проверку и хранение XML-данных. Дополнительные сведения см. в разделах Использование схем XML и Использование типов данных XML.
Базы данных-представления, позволяющие создавать копии баз данных только для чтения.
Поддержка компонентом Service Broker обмена информацией на основе сообщений. Дополнительные сведения см. в разделе Компонент SQL Server Service Broker.
Поддержка синонимов для множества имен объектов баз данных SQL Server. Дополнительные сведения см. в разделе Основные сведения о синонимах.
Управление компонентом Database Mail, которое позволяет создавать серверы электронной почты, профили электронной почты и учетные записи электронной почты в SQL Server. Дополнительные сведения см. в разделе Компонент Database Mail.
Поддержка зарегистрированных серверов для регистрации сведений о соединении. Дополнительные сведения см. в разделе Управление зарегистрированными серверами.
Трассировка и воспроизведение событий SQL Server. Дополнительные сведения см. в разделах Работа с приложением SQL Server Profiler и Использование трассировки SQL.
Поддержка сертификатов и ключей для управления безопасностью. Дополнительные сведения см. в разделе Иерархия средств шифрования.
Триггеры DDL, обеспечивающие дополнительные функции при возникновении DDL-событий. Дополнительные сведения см. в разделе Триггеры DDL.