Усовершенствованные возможности служб Notification Services
Microsoft SQL Server Notification Services является платформой SQL Server для разработки и развертывания приложений, формирующих и отправляющих уведомления. Службы Notification Services могут своевременно посылать персонализированные сообщения тысячам и миллионам подписчиков и доставлять сообщения на разнообразные устройства.
Notification Services 2.0 представлял собой загружаемый компонент SQL Server 2000 и был выпущен в 2002 году. В SQL Server 2005 службы Notification Services интегрированы в SQL Server. Дополнительные сведения о Notification Services см. в разделе Службы SQL Server Notification Services.
Ниже перечислены последние усовершенствования Notification Services, добавленные после выпуска версии.
Новые возможности
В SQL Server 2005 Notification Services были добавлены следующие возможности:
Интеграция в среду SQL Server Management Studio
Службы Notification Services теперь интегрированы в обозреватель объектов среды SQL Server Management Studio. С помощью обозревателя объектов можно выполнять большинство задач программы командной строки nscontrol, а также запускать и останавливать экземпляры Notification Services.
Среду SQL Server Management Studio можно также использовать в качестве редактора XML и Transact-SQL. При создании решения SQL Server Management Studio для экземпляра служб Notification Services можно легко изменить файл конфигурации экземпляра (ICF), файлы определения приложений (ADF) и сценарии Transact-SQL, предназначенные для управления защитой и для администрирования экземпляра, а затем развернуть экземпляр при помощи обозревателя объектов. Дополнительные сведения см. в разделе Учебник по службам Notification Services.
Дополнительные сведения о среде SQL Server Management Studio см. в разделе Общие сведения о среде SQL Server Management Studio.
Поддержка условий, определяемых подписчиком
В Notification Services 2.0 разработчик приложения полностью определял действие Transact-SQL для создания уведомлений, а подписчики могли только предоставлять параметры для данного действия. В SQL Server 2005 службы Notification Services поддерживают новый тип действия, которое называется условным и позволяет подписчикам определять собственные предложения запросов к предопределенному набору данных.
Условные действия позволяют подписчикам полностью определять собственные подписки на наборе данных, однако уменьшают эффективность сбора уведомлений, поскольку часто приходится проверять слишком много условий.
Дополнительные сведения см. в разделе Определение условных действий.
Независимость базы данных
SQL Server Notification Services поддерживает использование существующих баз данных для данных приложений и экземпляров. При настройке экземпляра Notification Services или при определении приложения Notification Services можно указать имя существующей или новой базы данных. Наконец, можно опустить имя, чтобы использовать имя базы данных Notification Services по умолчанию.
Дополнительные сведения см. в разделах Определение базы данных экземпляра и Определение базы данных приложений.
Новый API-интерфейс управления
SQL Server Notification Services предоставляет новый API-интерфейс управления Microsoft.SqlServer.Management.Nmo. Данный API-интерфейс можно использовать для разработки экземпляров и приложений Notification Services и для управления ими.
Механизм внутрипроцессного выполнения
Механизм Notification Services запускает внутрипроцессные поставщики событий, генераторы и распространители. В Notification Services 2.0 служба Windows NS$имя_экземпляра, устанавливаемая при регистрации экземпляра, выполняла функции механизма Notification Services. Теперь механизм Notification Services можно встроить в собственное приложение или процесс. Дополнительные сведения см. в разделе Размещение ядра служб Notification Services.
Поставщик событий служб Analysis Services
В Notification Services появился новый стандартный поставщик событий, предназначенный для сбора данных о событиях в базах данных служб Analysis Services при помощи запросов многомерных выражений. Дополнительные сведения см. в разделе Поставщик событий служб Analysis Services.
Новые представления
Чтобы упростить разработку приложений и устранение неполадок, были добавлены или изменены следующие представления Notification Services:
- Notification Services создает по одному представлению для каждого класса событий, определенного в приложении. Имя такого представления совпадает с именем класса событий. При написании запросов, формирующих событийно-управляемые уведомления (не плановые), разработчик обычно выбирает события из этого представления. Новая версия позволяет также вставлять данные о событии в это представление. Дополнительные сведения см. в разделе Представление <EventClassName>.
- Notification Services создает по одному представлению для каждого класса уведомлений. Это представление применяется для просмотра уведомлений, созданных пользовательским приложением. Дополнительные сведения см. в разделе Представление <NotificationClassName>.
- Notification Services содержит три представления для просмотра и управления сведениями о подписках и подписчиках:
- Представление NSSubscriberView возвращает список всех подписчиков для экземпляра Notification Services. Это представление применяется для управления сведениями о подписчиках. Дополнительные сведения см. в разделе NSSubscriberView.
- Представление NSSubscriberDeviceView возвращает список всех устройств подписчика для экземпляра Notification Services. Это представление применяется для управления сведениями об устройствах подписчика. Дополнительные сведения см. в разделе NSSubscriberDeviceView.
- Представление NSимя_класс_подпискиView возвращает список подписок для класса подписок. Это представление применяется для управления основными событийно-управляемыми подписками, но не подходит для запланированных и условных подписок. Дополнительные сведения см. в разделе Представление NS<SubscriptionClassName>View.
Усовершенствование существующих функций
Благодаря следующим усовершенствованиям удалось повысить производительность и упростить разработку приложений:
Улучшение производительности генератора
В Notification Services 2.0 в правилах создания уведомлений использовалась функция Notify(). Данная функция вызывала три расширенных хранимых процедуры. Эти расширенные хранимые процедуры снижали производительность и увеличивали количество шагов развертывания.
В версии SQL Server 2005 Notification Services функция Notify() отсутствует, поэтому правила создания уведомлений должны вставлять данные в представление уведомлений. Инструкции INSERT INTO, которые должны выполняться генератором, повышают производительность Notification Services. Дополнительные сведения см. в разделах Определение правил подписок и Миграция экземпляров служб Notification Services 2.0 на SQL Server 2005.
Улучшенная производительность программы чистильщика
В Notification Services также улучшена производительность процесса очистки данных. В зависимости от конфигурации программного и аппаратного обеспечения можно ожидать, что рост производительности по сравнению со службами Notification Services 2.0 составит около 150%.
Усовершенствованная технология кластеризации Windows
С самой первой версии Notification Services поддерживала технологию кластеров Windows. Если настроить службу Notification Services как ресурс кластера типа «Общая служба», служба Windows NS$имя_экземпляра, обслуживающая данный экземпляр, при сбое будет запущена на другом узле кластера.
В версии 2.0 службы Notification Services определяли, установлено ли программное обеспечение кластера, настроен и запущен ли кластер. Если все три проверки проходили успешно, Notification Services использовала имя кластера по умолчанию в качестве локального имени компьютера и запускала компоненты, которые должны запускаться на кластере по умолчанию (согласно настройке).
Теперь, чтобы улучшить поддержку кластеризации, можно настроить отдельную группу ресурсов кластера для Notification Services, которая обрабатывает отказы отдельно от других групп ресурсов кластера. Теперь при настройке ресурсов кластера необходимо выбрать параметр конфигурации Использовать сетевое имя в качестве имени компьютера. Для этого необходимо указать сетевое имя (виртуальное имя сервера) в качестве значения параметра SystemName для любых компонентов службы Notification Services, запускаемых в кластере.
Дополнительные сведения см. в разделах Использование отказоустойчивого кластера со службами Notification Services и Пошаговое руководство по кластеризованному развертыванию с одним сервером.
См. также
Основные понятия
Новые возможности SQL Server 2005
Другие ресурсы
Службы SQL Server Notification Services