Перенос базы данных MECM/SCCM на другой SQL сервер

В этой статье я покажу процесс переноса базы данных сервера SCCM на другой SQL сервер.

Предварительные действия

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

Необходимо проверить, что на новом SQL сервере выданы права администратора для учетной записи сервера SCCM.

sccm database migration

Также не лишним будет проверить текущие настройки на самой БД SCCM. Для этого выполните запрос, подставив вместо CM_PIT имя своей базы:

select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on from sys.databases where name = ‘CM_PIT'

Вывод показывает, что SQL Broker включен, значения trustworthy и honor_broker_priority включены.

sccm database migration1

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

C:\Program Files\Microsoft Configuration Manager\bin\X64\00000409\preinst.exe /stopsite

Резервное копирование базы данных SCCM

Открываем Microsoft SQL Server Management Studio, находим в списке базу данных SCCM, и в разделе Tasks, выбираем создание резервной копии Back Up.

sccm database backup

На следующем экране укажите путь, где будет сохранена база данных.

sccm database backup1

Восстановление базы данных SCCM на новом SQL сервере

Перед восстановлением БД нужно проверить, что на новом сервере SQL значение Server Collation соответствует SQL_Latin1_General_CP1_CI_AS. Для этого в консоли Microsoft SQL Server Management Studio откроем свойства сервера SQL:

sccm sql collation

Далее на SQL Server выбираем раздел Database и выбираем Restore Database.

sccm sql restore database

На следующем шаге необходимо выбрать ваш файл с бэкапом БД.

sccm sql restore database1

На вкладке Files можно указать новое расположение файлов базы данных и лог-файлов.

sccm sql restore database2

Теперь можно запускать процесс восстановления базы данных.

sccm sql restore database3

Следующим шагом будет предоставление прав для учетной записи нового сервера на перенесенную базу данных. Слева у меня новый сервер, справа — старый. Нужно предоставить аналогичные права.

sccm database migration5

На вкладке User mapping для БД SCCM нужны следующие права: db_datareader, db_datawriter, db_owner, public.

sccm database migration6

Для БД master: db_datareader, db_datawriter, db_owner, public. 

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

select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on from sys.databases where name = ‘CM_PIT'

sccm database migration4

Поправим это следующим запросом:

USE master
ALTER DATABASE CM_PIT SET ENABLE_BROKER
ALTER DATABASE CM_PIT SET TRUSTWORTHY ON
ALTER DATABASE CM_PIT SET HONOR_BROKER_PRIORITY ON

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

Перенастройка SCCM на использование новой базы данных

После переноса БД настроим сам сервер SCCM. Для этого запустите C:\Program Files\Microsoft Configuration Manager\bin\X64\setup.exe и выберите Perform site maintenance or reset this site.

sccm site maintenance

На следующем шаге выберите Modify SQL Server configuration.

sccm site maintenance1

На следующем экране указываем SQL Server name в формате FQDN и Instance name. Я использую Instance name, которое задавалось по умолчанию, поэтому поле оставляю пустым. Нажимаем Next и ждем завершения всех операций по смене сервера.

sccm site maintenance2

Нажимаем Next и ждем завершения всех операций по смене сервера.

sccm site maintenance3

Перезагрузите сервер SCCM, а затем в настройках Administration — Site Configuration — Servers and Site System Roles посмотрите, что появился ваш новый SQL сервер. На этом перенос базы данных SCCM/MECM закончен.

Оставьте комментарий