Миграция Orchestrator между средами

Важно!

Поддержка этой версии Orchestrator завершена. Рекомендуется выполнить обновление до Orchestrator 2022.

В этой статье описывается перемещение Orchestrator между средами, например переход на новый SQL Server 2008 R2 или перемещение некоторых компонентов Orchestrator.

Описываемые ниже процессы и сценарии позволяют легко перемещать систему между средами. Они основаны на полной миграции всех компонентов Orchestrator на новый SQL Server компьютер с восстановленной базой данных Orchestrator.

Для обеспечения автоматической миграции Orchestrator в новую среду должны быть выполнены следующие шаги:

  1. Резервное копирование главного ключа службы SQL Server в среде А

  2. Резервное копирование базы данных Orchestrator в среде А

  3. Развертывание SQL Server в среде B

  4. Восстановление главного ключа службы SQL Server в среде Б

  5. восстановление базы данных Orchestrator в среде Б;

  6. Развертывание компонентов Orchestrator в среде Б

Примечание

Сведения об использовании служебной программы Sqlcmd см https://go.microsoft.com/fwlink/?LinkId=246817 . в этой статье.

Примечание

Рекомендуется включить SQL Broker в базе данных Orchestrator, чтобы внутренние задачи обслуживания выполнялись автоматически.

Как проверка и включить sql Broker

Проверьте, нужно ли включить SQL Broker, выполнив следующий запрос к экземпляру SQL Orchestrator:

Select Name, is_broker_enabled, Compatibility_Level from sys.databases Where name = 'Orchestrator'

Если вы заметили, что брокер базы данных Orchestrator отключен (0), необходимо включить SQL Broker, выполнив следующие действия.

  1. Остановите все службы, связанные с Orchestrator, на всех серверах управления или серверах Runbook:
    Служба управления Orchestrator (omanagement)
    Служба удаленного взаимодействия Orchestrator (oremoting)
    Монитор сервера Orchestrator Runbook (omonitor)
    Служба Runbook Orchestrator (orunbook)
    (Get-Service).Where{$_.Name -match "^omanagement|^oremoting|^omonitor|^orunbook"} | Stop-Service -Confirm:$false
    
  2. Выполните следующий запрос к экземпляру SQL Orchestrator:
    ALTER DATABASE Orchestrator SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    ALTER DATABASE Orchestrator SET ENABLE_BROKER
    GO
    ALTER DATABASE Orchestrator SET MULTI_USER
    GO
    
  3. Запустите все службы, связанные с Orchestrator, на всех серверах управления или серверах Runbook:
    (Get-Service).Where{$_.Name -match "^omanagement|^oremoting|^omonitor|^orunbook"} | Start-Service
    

Резервное копирование главного ключа службы SQL Server в среде А

Создайте резервную копию ключа master службы SQL Server.

С помощью следующей команды создайте пакетный сценарий:

Sqlcmd -Q "BACKUP SERVICE MASTER KEY TO FILE ='C:\BACKUP\MASTER_KEY.BAK' ENCRYPTION BY PASSWORD = 'password'"  

Где "пароль" — это пароль, который будет использоваться для защиты ключа службы master в созданном файле. Если пароль потерян, ключ службы master невозможно восстановить из файла.

Резервное копирование базы данных Orchestrator в среде А

Создайте резервную копию всей базы данных Orchestrator. Резервное копирование можно выполнить, когда система работает; однако лучше всего выполнять резервное копирование, если все авторы runbook проверили все ожидающие изменения в своих модулях Runbook. Ожидающие изменения кэшируются в Designer Runbook и не архивируются с помощью резервной копии базы данных.

  1. В SQL Server Management щелкните правой кнопкой мыши базу данных Orchestrator, выберите Задачи, а затем — Создать резервную копию.

  2. Настройте параметры резервного копирования согласно требованиям вашей организации.

  3. Выберите Скрипт, а затем выберите Действие скрипта в новом окне запроса.

  4. Выберите Выполнить , чтобы протестировать скрипт резервного копирования.

  5. Создайте пакетный файл с помощью этого сценария. Пакетный файл будет выглядеть примерно так:

    Sqlcmd -Q "BACKUP DATABASE Orchestrator TO DISK=N'C:\BACKUP\OrchestratorDB.bak'"  
    

Развертывание SQL Server в среде B

Развертывание SQL Server в среде B.

Восстановление главного ключа службы SQL Server в среде Б

Восстановите ключ master службы Microsoft SQL Server, чтобы включить расшифровку данных Orchestrator на новом сервере SQL Server.

Создайте пакетный скрипт с помощью команды :

Примечание

Если вы планируете использовать или перенести базу данных Orchestrator в экземпляре SQL Always ON , вам будет предложено ввести пароль ключа шифрования базы данных.

Sqlcmd -Q "RESTORE SERVICE MASTER KEY FROM FILE = 'C:\BACKUP\MASTER_KEY.BAK' DECRYPTION BY PASSWORD = 'password';"  

Восстановление базы данных Orchestrator в среде Б

Выполните следующие шаги создания пакетного сценария, с помощью которого на новом компьютере SQL Server будет выполнено восстановление базы данных Orchestrator.

  1. В SQL Server Management щелкните правой кнопкой мыши базу данных Orchestrator, выберите Задачи, а затем — Восстановить.

  2. Настройте параметры восстановления согласно требованиям вашей организации.

  3. Выберите Скрипт, а затем выберите Действие скрипта в новом окне запроса.

  4. Выберите Выполнить , чтобы протестировать скрипт восстановления.

  5. Создайте пакетный файл с помощью этого сценария. Пакетный файл будет выглядеть примерно так:

    Sqlcmd -Q "RESTORE DATABASE [Orchestrator] FROM  DISK = N'C:\BACKUP\OrchestratorDB.bak'WITH  FILE = 1,  NOUNLOAD,  STATS = 10"  
    
    

    Примечание

    База данных Orchestrator зашифрована; Пароль ключа шифрования необходим для добавления базы данных в программу установки SQL Always ON . Используйте следующий T-SQL запрос, чтобы изменить пароль и использовать новый пароль в мастере доступности SQL Always ON при добавлении базы данных в программу установки Always ON :

    Использование Orchestrator ALTER MASTER KEY

    ПОВТОРНОЕ СОЗДАНИЕ С ШИФРОВАНИЕМ ПО ПАРОЛЮ = 'password';

    GO

Развертывание компонентов Orchestrator в среде Б

Выполните развертывание компонентов Orchestrator (сервер Management, веб-функции, серверы Runbook и модули Runbook Designer) в автоматическом режиме с помощью команд настройки Orchestrator. Дополнительные сведения о развертывании Orchestrator с помощью командной строки см. в статье Установка с помощью средства установки из командной строки Orchestrator.

В следующем примере устанавливается все компоненты Orchestrator на компьютере под управлением SQL Server 2008 R2 и платформа .NET Framework 4:

В следующем примере выполняется установка всех компонентов Orchestrator на компьютере под управлением SQL Server:

%systemdrive%\sco\setup\setup.exe /Silent `
    /ServiceUserName:%computername%\administrator `
    /ServicePassword:password `
    /Components:All `
    /DbServer:%computername%  /DbPort:1433 /DbNameNew:OrchestratorSysPrep `
    /WebConsolePort:82 /WebServicePublicUrl:"http://localhost:81" `
    /WebServicePort:81 /WebConsolePublicUrl:"http://localhost:82" `
    /OrchestratorRemote `
    /UseMicrosoftUpdate:1 /SendCEIPReports:1 /EnableErrorReporting:always

Примеры сценариев и команд миграции

Пример резервного копирования SQL Server master ключа службы

Sqlcmd -Q "BACKUP SERVICE MASTER KEY TO FILE ='C:\BACKUP\MASTER_KEY.BAK' ENCRYPTION BY PASSWORD = 'password'"  

Пример резервного копирования базы данных Orchestrator

Sqlcmd -Q "BACKUP DATABASE Orchestrator TO DISK=N'C:\BACKUP\OrchestratorDB.bak'"  

Пример восстановления главного ключа службы SQL Server

Sqlcmd -Q "RESTORE SERVICE MASTER KEY FROM FILE = 'c:\temp_backups\keys\service_master_key' DECRYPTION BY PASSWORD = 'password'"  

Пример восстановления базы данных Orchestrator

Sqlcmd -Q "RESTORE DATABASE [Orchestrator] FROM  DISK = N'C:\BACKUP\OrchestratorDB.bak'WITH  FILE = 1,  NOUNLOAD,  STATS = 10"  

Пример установки Orchestrator из пакетного файла

%systemdrive%\sco\setup\setup.exe /Silent `
    /ServiceUserName:%computername%\administrator `
    /ServicePassword:password `
    /Components:All `
    /DbServer:%computername%  /DbPort:1433 /DbNameNew:OrchestratorSysPrep `
    /WebConsolePort:82 /WebServicePublicUrl:"http://localhost:81" `
    /WebServicePort:81 /WebConsolePublicUrl:"http://localhost:82" `
    /OrchestratorRemote `
    /UseMicrosoftUpdate:1 /SendCEIPReports:1 /EnableErrorReporting:always