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

Изменения: 14 апреля 2006 г.

Если существует экземпляр служб Notification Services 2.0, запущенный на Microsoft SQL Server 2000, можно обновить базы данных и службы Notification Services, а затем выполнить миграцию экземпляра служб Notification Services на Microsoft SQL Server 2005.

Следующие процедуры показывают способы обновления экземпляра с помощью среды SQL Server Management Studio.

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

Подготовка серверов к обновлению

  1. Отключите экземпляр служб Notification Services с помощью программы командной строки nscontrol служб Notification Services версии 2.0.

    1. В меню Пуск укажите пункт Programs\Microsoft SQL Server Notification Services и выберите Notification Services Command Prompt.
    2. Чтобы отключить экземпляр, введите следующую команду:
      nscontrol disable -nameinstance_name
  2. На каждом из серверов, на котором выполняется служба Windows NS$имяЭкземпляра, остановите ее.

    1. В меню Пуск укажите пункт Programs\Microsoft SQL Server Notification Services и выберите Notification Services Command Prompt.
    2. Чтобы остановить экземпляр, введите следующую команду:
      **net stop NS$**instanceName
  3. На каждом из серверов, имеющем интерфейсы поставщика событий, генератора, распространителя или управления подпиской, отмените регистрацию экземпляра.

    1. Введите в открытом окне командной строки служб Notification Services:
      nscontrol unregister -nameinstance_name
    2. Закройте окно командной строки.

Обновление версии компонента Database Engine и установка служб Notification Services

  1. При помощи программы установки SQL Server 2005 обновите компонент Database Engine с версии SQL Server 2000 до версии SQL Server 2005. Дополнительные сведения см. в разделе Обновление компонента Database Engine.

  2. На каждом из серверов, имеющем интерфейсы поставщика событий, генератора, распространителя или управления подпиской, установите службы SQL Server 2005 Notification Services.

    Если службы Notification Services и базы данных расположены на одном и том же сервере, можно одновременно обновлять базы данных и устанавливать службы Notification Services.

Миграция экземпляра служб Notification Services

  1. Откройте окно командной строки служб SQL Server 2005 Notification Services и добавьте данные экземпляра в системные базы данных:

    1. В меню Пуск выберите меню Все программы\Microsoft SQL Server 2005\средства настройки, а затем выберите пункт Командная строка Notification Services.
    2. Чтобы восстановить метаданные экземпляра, введите следующую команду:
      nscontrol repair -nameinstance_name-databaseinstanceDatabaseName-schemainstanceDatabaseSchema-serverdatabaseServer
  2. Обновление экземпляра и данных базы данных приложения в среде SQL Server Management Studio:

    1. В меню Пуск укажите пункт Программы\Microsoft SQL Server и выберите среду SQL Server Management Studio.
    2. Подключитесь к экземпляру SQL Server, который содержит экземпляр и прикладную базу данных.
    3. В обозревателе объектов откройте Службы Notification Services.
    4. Правой кнопкой мыши щелкните экземпляр, укажите пункт Задачи и выберите Обновить.
      В результате обновляются схема базы данных, хранимые процедуры и номера версий в базах данных экземпляра и приложений.
  3. Измените правила уведомлений в файле определения приложения (ADF) для каждого из приложений, содержащихся в данном экземпляре.

    • Измените все правила формирования уведомлений, в которых используется функция Notify(), для использования синтаксиса INSERT INTO. Например, изменим правило служб Notification Services 2.0:

      SELECT dbo.FlightNotificationsNotify(S.SubscriberId, 
      S.DeviceName, S.SubscriberLocale, E.Carrier, E.LeavingFrom, 
      E.GoingTo, E.Price, E.Conditions)
          FROM FlightEvents E, FlightSubscriptions S
          WHERE E.LeavingFrom = S.LeavingFrom
          AND E.GoingTo = S.GoingTo
          AND ( (E.Carrier = S.Carrier) OR (S.Carrier = '*') )
          AND E.Price < S.Price
      

      На следующий синтаксис, который не вызывает функцию Notify(), а выбирает данные и вставляет их в представление, имеющее имя класса уведомления (FlightNotifications):

      INSERT INTO FlightNotifications(SubscriberId, DeviceName, 
      SubscriberLocale, Carrier, LeavingFrom, GoingTo, Price, 
      Conditions)
      SELECT S.SubscriberId, S.DeviceName, S.SubscriberLocale, 
      E.Carrier, E.LeavingFrom, E.GoingTo, E.Price, E.Conditions
          FROM FlightEvents E, FlightSubscriptions S
          WHERE E.LeavingFrom = S.LeavingFrom
          AND E.GoingTo = S.GoingTo
          AND ( (E.Carrier = S.Carrier) OR (S.Carrier = '*') )
          AND E.Price < S.Price
      
    • Измените номера версий в ADF и ICF. (Необязательно)

    • Если экземпляр был перемещен, измените значения SystemName в ADF и значение SqlServerSystem в ICF. Эти значения могут быть параметрами, указывающими, что значения находятся в узле ParameterDefaults либо указываются при создании экземпляра.

  4. В обозревателе объектов щелкните правой кнопкой мыши экземпляр Notification Services, укажите пункт Задачи и выберите Обновить.

    Введите запрашиваемые данные в диалоговое окно Обновление. Обновление экземпляра и его приложений вызывает применение к базам данных изменений файлов ADF и ICF.

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

  5. На каждом из серверов, где был зарегистрирован экземпляр, зарегистрируйте экземпляр.

    Среда SQL Server Management Studio регистрирует экземпляр только на локальном компьютере. Чтобы зарегистрировать экземпляр в среде SQL Server Management Studio, правой кнопкой мыши щелкните экземпляр, выберите Задачи, а затем выберите пункт Зарегистрировать.

    Если нужно зарегистрировать экземпляр на сервере, на котором среда SQL Server Management Studio не установлена, воспользуйтесь программой командной строки SQL Server 2005 nscontrol register.

  6. Замените все пользовательские компоненты новыми, скомпилированными с использованием сборок SQL Server 2005 и платформы Microsoft .NET Framework 2.0.

  7. Если используется COM-взаимодействие, перерегистрируйте базовую сборку служб Notification Services. Дополнительные сведения см. в разделе Как зарегистрировать сборку ядра служб Notification Services для взаимодействия COM.

  8. В обозревателе объектов щелкните правой кнопкой мыши экземпляр и выберите пункт Пуск.

См. также

Задачи

Миграция экземпляров служб Notification Services 2.0 на SQL Server 2005
Как выполнить миграцию экземпляров служб Notification Services 2.0 на SQL Server 2005 (командная строка)

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

Разделы руководства по управлению экземплярами и приложениями (службы Notification Services)
Команда nscontrol register

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

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