Пошаговое руководство по масштабному развертыванию

В данном сценарии показано, как выполнить развертывание экземпляра служб Notification Services на нескольких серверах. В этом сценарии базы данных размещаются на удаленном сервере, а компоненты ядра масштабируются на три сервера. Такой сценарий развертывания используется для больших приложений, которым для эффективного форматирования и распространения значительного количества уведомлений требуется несколько серверов.

ms166428.note(ru-ru,SQL.90).gifПримечание.
Все конфигурации служб Notification Services являются уникальными. Используйте процедуры, описанные в этом разделе, для создания и проверки своих собственных требований по развертыванию.

На следующем рисунке показана конфигурация оборудования для этого сценария развертывания. В сценарии используется четыре сервера: NS1, NS2, NS3 и SQL1. Ядро служб Notification Services запускается на серверах NS1, NS2 и NS3. На сервере NS1 выполняются поставщики событий и генераторы. Распространители выполняются на серверах NS2 и NS3. Базы данных экземпляра и приложений размещаются на сервере SQL1.

Конфигурации с горизонтальным масштабированием

Серверы NS1, NS2 и NS3 могут использовать один или два диска. Количество дисков для этих серверов не является критичным. Однако на сервере SQL1 имеется несколько дисков, для улучшения производительности баз данных один из дисков используется для компонента Database Engine, файлов данных, файлов журналов и базы данных tempdb.

Предварительные требования

Перед развертыванием экземпляра служб Notification Services убедитесь в выполнении всех предварительных условий:

  • На серверах NS1, NS2 и NS3 установлена операционная система и все применимые пакеты обновлений и обновления.
  • На сервере SQL1 установлены операционная система Microsoft Windows и компонент Microsoft SQL Server 2005 Database Engine, а также все применимые пакеты обновлений и обновления.
  • Установка, которая является членом фиксированной серверной роли sysadmin в SQL Server, производилась под учетной записью с административными правами доступа на сервере.
  • Пользователем или администратором домена создана учетная запись для служб Notification Services Windows. Существуют учетные записи для данного пошагового руководства: для сервера NS1, где выполняются внутрипроцессные поставщики событий и генераторы, — DOMAIN\NSEPGen; для серверов NS2 и NS3, на которых выполняются распространители, — DOMAIN\NSDist. Создание отдельных учетных записей позволяет контролировать разрешения.
  • Созданы все необходимые общие папки для данных событий и уведомлений. Учетной записи пользователя предоставлены необходимые разрешения для доступа к этим файлам, учетной записи DOMAIN\NSEPGen предоставлены разрешения на считывание событий, учетной записи DOMAIN\NSDist — на распространение уведомлений.
  • На экземпляре Database Engine включен протокол TCP/IP или протокол именованных каналов. В SQL Server 2005 эти сетевые протоколы по умолчанию отключены. Дополнительные сведения см. в разделе Настройка контактной зоны SQL Server.

Обзор развертывания

В данном пошаговом руководстве по развертыванию на сервере NS1, где запускается ядро служб Notification Services, будут выполнены следующие задачи.

  1. Установка служб Notification Services.
  2. Предоставление разрешения Windows учетной записи NSEPGen.
  3. Создание и включение экземпляра служб Notification Services.
  4. Регистрация экземпляра служб Notification Services, при которой создается служба Windows, запускающая компоненты ядра служб Notification Services.
  5. Запуск экземпляра служб Notification Services для начала формирования уведомлений.

На серверах NS2 и NS3, где выполняются дополнительные компоненты ядра служб Notification Services, необходимо выполнить следующие задачи.

  1. Установить службы Notification Services.
  2. Предоставьте разрешения Windows учетной записи NSDist.
  3. Зарегистрировать экземпляр служб Notification Services, который создает службу Windows, запускающую компоненты ядра служб Notification Services.
  4. Для начала формирования уведомлений необходимо запустить экземпляр служб Notification Services.

На сервере SQL1, где размещены базы данных, необходимо выполнить следующее:

  • Предоставьте разрешения базы данных учетной записи Windows.
    ms166428.note(ru-ru,SQL.90).gifПримечание.
    Службы Notification Services также поддерживают проверку подлинности SQL Server. При возможности используйте проверку подлинности Windows.

В инструкциях ниже показано использование командной строки служб Notification Services для создания сценария развертывания. Также можно развернуть экземпляр служб Notification Services с помощью среды SQL Server Management Studio. Инструкции по развертыванию с одним сервером, которые используют среду SQL Server Management Studio, см. в разделе Образцы служб SQL Server Notification Services.

Задачи на сервере NS1

Шаг 1. Установка программного обеспечения

  1. Установка служб Notification Services. Также можно установить дополнительные компоненты, но они не требуются для выполнения шагов данного пошагового руководства.

    Дополнительные сведения об установке компонентов см. в разделе Установка служб SQL Server Notification Services.

Шаг 2. Предоставление разрешений Windows учетной записи DOMAIN\NSEPGen

  1. В меню Пуск выберите пункты Все программы, Microsoft SQL Server 2005, Службы уведомлений, а затем пункт Командная строка служб Notification Services, чтобы открыть окно командной строки служб Notification Services.

  2. Добавьте учетную запись DOMAIN\NSEPGen в локальную группу пользователей. В командной строке введите команду net localgroup:

    net localgroup users DOMAIN\NSEPGen /add

    Дополнительные сведения по добавлению учетных записей в локальную группу пользователей см. в документации по Windows.

Шаг 3. Создание и включение экземпляра служб Notification Services

  1. Чтобы создать базы данных экземпляра и приложений, введите в командной строке следующую команду:

    nscontrol create -in "Path\ICFName"

    В зависимости от ICF-файла может понадобиться ввести в командную строку дополнительные аргументы и параметры.

  2. Введите следующую команду, чтобы включить экземпляр:

    nscontrol enable -nameимя_экземпляра-serverсервер_БД

    Компоненты ядра служб Notification Services находятся в состоянии «Ожидание включения», так как ядро служб Notification Services еще не установлено и не запущено.

    Если экземпляр включается после его регистрации, то можно пропустить аргумент -server.

Шаг 4. Регистрация экземпляра служб Notification Services

  1. В открытом окне командной строки введите следующую команду:

    nscontrol register -nameимя_экземпляра-serverсервер_БД-service

        -serviceusername DOMAIN\NSEPGen

        -servicepassword"пароль"

    Команда создает на локальном компьютере службу Windows с именем NS$имя_экземпляра.

ms166428.note(ru-ru,SQL.90).gifПримечание.
При использовании проверки подлинности SQL Server при регистрации экземпляра необходимо ввести учетное имя и пароль SQL Server, а затем предоставить этому имени разрешения.

Задачи для серверов NS2 и NS3

В данном сценарии с горизонтальным масштабированием распространители выполняются на серверах NS2 и NS3. На этих серверах необходимо зарегистрировать экземпляр, который создает службу Windows. Перед регистрацией экземпляра необходимо установить службы Notification Services и предоставить учетной записи службы разрешения Windows.

Шаг 1. Установка программного обеспечения

  1. Установка служб Notification Services. Также можно установить дополнительные компоненты, но они не требуются для выполнения шагов данного пошагового руководства.

    Дополнительные сведения об установке компонентов см. в разделе Установка служб SQL Server Notification Services.

Шаг 2. Предоставление разрешений Windows учетной записи DOMAIN\NSDist

  1. В меню Пуск выберите Все программы, Microsoft SQL Server 2005, Службы Notification Services, а затем — Командная строка служб Notification Services, чтобы открыть окно командной строки служб Notification Services.

  2. Добавьте учетную запись DOMAIN\NSDist в локальную группу пользователей. В командной строке введите следующую команду net localgroup:

    net localgroup users DOMAIN\NSDist /add

    Дополнительные сведения по добавлению учетных записей в локальную группу пользователей см. в документации по Windows.

Шаг 3. Регистрация экземпляра служб Notification Services

  1. В открытом окне командной строки введите следующую команду:

    nscontrol register -nameимя_экземпляра-serverсервер_БД-service

        -serviceusername DOMAIN\NSDist

        -servicepassword"[пароль]"

    Команда создает на локальном компьютере службу Windows с именем NS$имя_экземпляра.

ms166428.note(ru-ru,SQL.90).gifПримечание.
При использовании проверки подлинности SQL Server при регистрации экземпляра необходимо ввести учетное имя и пароль SQL Server, а затем предоставить этому имени разрешения.

Задачи сервера SQL1

Необходимо предоставить SQL Server и базе данных разрешения на ядро служб Notification Services. Если на серверах NS1, NS2 или NS3 установлены компоненты для рабочих станций, то можно выполнить задачу на одном из этих серверов без входа на сервер SQL1.

Предоставление разрешений на SQL Server и базы данных

  1. Откройте окно командной строки.

  2. Чтобы создать имена для входа SQL Server для учетных записей DOMAIN\NSEPGen и DOMAIN\NSDist, введите следующую команду:

    sqlcmd -E -S сервер_бд-Q "CREATE LOGIN [DOMAIN\NSEPGen] FROM WINDOWS;"

    sqlcmd -E -S сервер_БД-Q "CREATE LOGIN [DOMAIN\NSDist] FROM WINDOWS;"

  3. Чтобы создать в базе данных экземпляра пользователей DOMAIN\NSEPGen и DOMAIN\NSDist и добавить пользователя DOMAIN\NSEPGen к ролям базы данных NSEventProvider и NSGenerator, а пользователя DOMAIN\NSDist — к роли базы данных NSDistributor, в командной строке введите следующую команду:

    sqlcmd -E -Sсервер_БД-Q "USEбаза_данных_экземпляра;

    **    EXEC CREATE USER [DOMAIN\NSEPGen];**

    **    EXEC CREATE USER [DOMAIN\NSDist];**

    **    EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\DOMAIN\NSEPGen';"**

    **    EXEC sp_addrolemember N'NSGenerator', N'DOMAIN\DOMAIN\NSEPGen';"**

    **    EXEC sp_addrolemember N'NSDistributor', N'DOMAIN\DOMAIN\Dist';"**

  4. Если имеются отдельные базы данных приложений, то чтобы создать в базе данных приложения пользователей DOMAIN\NSEPGen и DOMAIN\NSDist и добавить пользователя DOMAIN\NSEPGen к ролям базы данных NSEventProvider и NSGenerator, а пользователя DOMAIN\NSDist — к роли базы данных NSDistributor, в командной строке введите следующую команду:

    sqlcmd -E -S сервер_БД -Q "USE база_данных_приложения**;**

    **    EXEC CREATE USER [DOMAIN\NSEPGen];**

    **    EXEC CREATE USER [DOMAIN\NSDist];**

    **    EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\DOMAIN\NSEPGen';"**

    **    EXEC sp_addrolemember N'NSGenerator', N'DOMAIN\DOMAIN\NSEPGen';"**

    **    EXEC sp_addrolemember N'NSDistributor', N'DOMAIN\DOMAIN\Dist';"**

    Если на экземпляре размещено несколько приложений, то повторите этот шаг для базы данных каждого приложения.

Экземпляр служб Notification Services развернут. Теперь можно загружать данные подписчика и подписки и отправлять события в приложения. Если не запущена служба Windows, то службы Notification Services не обрабатывают данные. Далее описывается запуск службы Windows.

Запуск экземпляра служб Notification Services

Для начала формирования экземпляром уведомлений запустите службу Windows на всех серверах, где выполняются компоненты ядра. Для данного пошагового руководства откройте окно командной строки на серверах NS1, NS2 и NS3 и введите команду

**net start NS$**имя_экземпляра

Дополнительные сведения см. в разделе Запуск и остановка экземпляров служб Notification Services.

Для одновременного запуска всех служб можно использовать среду SQL Server Management Studio. Дополнительные сведения см. в разделе Как запустить экземпляр служб Notification Services (среда SQL Server Management Studio).

Устранение неполадок

Если приложение не формирует уведомления, то для проверки состояния экземпляра следует ввести следующую команду в командной строке служб Notification Services:

nscontrol status-name имя_экземпляра

Также необходимо убедиться, что все необходимые компоненты на ожидаемых серверах установлены и находятся во включенном состоянии. Дополнительные сведения см. в разделе Просмотр состояния экземпляров, приложений и компонентов.

Также проверьте на наличие ошибок журнал приложений Windows. Дополнительные сведения см. в разделе Устранение неполадок служб Notification Services.

См. также

Основные понятия

Развертывание экземпляра служб Notification Services
Развертывание внепроцессных поставщиков событий
Развертывание интерфейса управления подписками

Другие ресурсы

Команда nscontrol create
nscontrol enable, команда
Команда nscontrol register
Программа sqlcmd

Справка и поддержка

Получение помощи по SQL Server 2005