Поделиться через


Перемещение базы данных Service Manager

 

Опубликовано: Июль 2016

Применимо к: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

Для перемещения базы данных Service Manager необходимо использовать следующие общие этапы.

System_CAPS_ICON_note.jpg Примечание


Такие этапы связаны с содержимым руководства по обновлению Service Manager.

  1. Откройте входящий порт SQL на новом сервере базы данных Service Manager. По умолчанию используется порт 1433.

  2. Остановите службы System Center на всех серверах управления, как описано в статье Остановка служб Service Manager на дополнительном сервере управления.

  3. Создайте резервную копию базы данных Service Manager, как описано в статье Создание резервной копии рабочей базы данных Service Manager.

  4. Восстановите базу данных Service Manager на конечном компьютере, работающем под управлением Microsoft SQL Server, как описано в статье Восстановление базы данных Service Manager в лабораторной среде.

  5. Настройте базу данных Service Manager, как описано в статье Подготовка базы данных Service Manager в лабораторной среде.

    System_CAPS_ICON_important.jpg Важно


    Не выполняйте этап 17 процедуры для настройки таблиц.

  6. После перемещения базы данных ServiceManager убедитесь, что вы вручную изменили все базы данных Service Manager и информацию о регистрации хранилища данных в базе данных DWStagingAndConfig. Старые сведения о расположении базы данных ServiceManager остаются в базе данных DWStagingAndConfig в следующих таблицах:

    • MT_Microsoft$Systemcenter$Datawarehouse$CMDBSource

      • В соответствующей записи с DataSourceName_GUID = <имя источника данных Service Manager> измените поле DatabaseServer_GUID на новое имя SQLServer\Instance, куда была перемещена база данных ServiceManager.
    • MT_Microsoft$Systemcenter$ResourceAccessLayer$SqlResourceStore

      • В соответствующей записи с DataService_GUID = ServiceManager измените поле Server_GUID на новое имя SQLServer\Instance, куда была перемещена база данных ServiceManager.
  7. Настройте реестр на всех серверах управления, которые получат доступ к новому экземпляру SQL Server, выполнив следующие действия.

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

    2. Перейдите к разделу HKEY_LOCAL_MACHINE\Software\Microsoft\System Center\2010\Common\Database.

    3. Настройте два раздела: один для имени сервера (DatabaseServerName) и один для имени базы данных (DatabaseName). Задайте значения для нового имени сервера и имени базы данных, если они отличаются от исходных значений.

  8. Кроме того, при обновлении SQL Server во время перемещения обновите необходимые компоненты SQL Server для сервера управления Service Manager. Для SQL Server существует 2 необходимых компонента:

    • SQL Native Client;

    • объекты AMO.

  9. Запустите службы System Center на всех серверах управления, как описано в статье Запуск служб Service Manager на дополнительном сервере управления.

  10. Установите другую базу данных Service Manager с другим именем на том же компьютере, работающем под управлением SQL Server. Для этого установите другой сервер управления Service Manager и выберите создание базы данных. На этом этапе база данных master будет заполнена текстом сообщений об ошибках таким образом, что при возникновении в дальнейшем ошибки сообщение об ошибке может описать конкретную проблему вместо отображения общего текста. После установки базы данных можно стереть ее с компьютера, работающего под управлением SQL Server, и удалить дополнительный временный сервер управления.

    -или-

    На исходном сервере базы данных Service Manager выполните следующий запрос и скопируйте выходной сценарий, а затем запустите его на новом сервере базы данных Service Manager.

    DECLARE @crlf char(2);  
    DECLARE @tab char(1);  
    SET @crlf = CHAR(13) + CHAR(10);  
    SET @tab = CHAR(9);  
    
    SELECT   
           'EXEC sp_addmessage ' + @crlf + @tab  
            + '@msgnum = ' + CAST(m.message_id AS varchar(30))  
                  + ', ' + @crlf + @tab  
          + '@severity = ' + CAST(m.severity AS varchar(3))    
                  + ', ' + @crlf + @tab  
          + '@msgtext = N''' + REPLACE(m.[text],'''','''''')    
                  + ''''  + ', ' + @crlf + @tab  
            + '@lang = ''' +   
                  (SELECT TOP 1 alias   
                   FROM master.sys.syslanguages l   
                   WHERE l.lcid = m.language_id)   
                   + ''', ' + @crlf + @tab  
          + '@with_log = ''' +   
                  CASE WHEN m.is_event_logged = 1   
                   THEN 'TRUE' ELSE 'FALSE' END   + ''', ' +  @crlf + @tab  
                  -- Uncomment ONLY if you want to replace:  
            + '@replace = ''replace'';'   
            + @crlf + 'GO' + @crlf + @crlf   
    FROM   
            master.sys.messages m  
    WHERE   
           m.message_id > 50000;  
    
    GO  
    

См. также

Приложение B. Руководство по перемещению баз данных Service Manager и хранилища данных