Перенос базы данных SCCM 2012 с SQL 2008 R2 на SQL 2012

3
16122

ЗЫЖ Перед прочтением, можно запустить музыкальное сопровождение. )

Так как 18 октября вышла новая версия System Center 2012 R2 Configuration Manager, перед обновлением SCCM до версии R2 было решено в первую очередь перенести базу данных SCCM 2012 с SQL 2008 R2 на MS SQL 2012, т.к. в топологии MS SQL находился на одном сервере с primary сайтом SCCM и с увеличением клиентов, возрастала нагрузка на виртуальную машину.

Версия MS SQL 2008 R2 — 10.5.2811.0 — SQL Server 2008 R2 Service Pack 1 Cumulative update 6 (CU6)

Версия MS SQL 2012 — 11.0.3381.0 —  SQL Server 2012 Service Pack 1 Cumulative update 6 (CU6) — на момент обновления, самый последний CU, который вышел 16 сентября 2013.

sql2008r2-2012

1. Проверим БД на старом сервере. Выполним запрос, где CM_ASD — это имя вашей базы данных sccm:

[code lang=»sql»]select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on from sys.databases where name = ‘CM_ASD'[/code]

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

sccm2012-sql2008-2012-1

2. До того, как мы начнем переносить базу данных, необходимо остановить службы SCCM. Запустим preinst /stopsite. Preinst можно найти в каталоге Program Files\Microsoft Configuration Manager\bin\X64\

sccm2012-sql2008-2012-2

3. Выполняем полный бэкап базы данных sccm 2012. Открываем Microsoft SQL Server Management Studio, раскрываем список баз данных, выбираем нашу базу данных, в разделе Задания, выбираем создание резервной копии:

sccm2012-sql2008-2012-3

sccm2012-sql2008-2012-4

4. Теперь подготовим наш новый SQL сервер. Прежде всего необходимо проверить, что версия SQL сервера поддерживается SCCM. Поддерживаемые версии SQL можно узнать здесь — http://technet.microsoft.com/en-us/library/gg682077.aspx#BKMK_SupConfigSQLDBconfig

В моем случае версия SQL 2012 SP1 CU6 (11.0.3381.0).

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

sccm2012-sql2008-2012-5

Убедимся, что CRL (Common Language Runtime) включен. Значение run_value должно быть 1:

[code lang=»sql»]sp_configure ‘clr enabled'[/code]

sccm2012-sql2008-2012-6

Добавим учетную запись компьютера в локальные администраторы на новом сервере SQL 2012:

sccm2012-sql2008-2012-7

5. После этих операций, необходимо скопировать резервную копию базы данных SCCM со старого сервера sql 2008 r2 на новый sql 2012 sp1. И запустить восстановление (Restore Database) через Microsoft SQL Server Management Studio:

sccm2012-sql2008-2012-8

Выбрать резервную копию нашей базы:

sccm2012-sql2008-2012-9

И выполнить восстановление базы данных:

sccm2012-sql2008-2012-23

sccm2012-sql2008-2012-11

Проверяем, что наша база данных появилась в списке на новом сервере SQL 2012:

sccm2012-sql2008-2012-12

6. В начале статьи, мы проверяли SQL Broker, trustworthy и honor_broker_priority. Если мы повторим запрос на новом SQL сервере, то вывод будет отличаться:

[code lang=»sql»]select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on from sys.databases where name = ‘CM_ASD'[/code]

sccm2012-sql2008-2012-13

Для изменения этих значений необходимо выполнить следующие SQL запросы, где CM_ASD — имя вашей базы данных:

[code lang=»sql»]

USE master;
GO
ALTER DATABASE CM_ASD SET ENABLE_BROKER
GO

[/code]

[code lang=»sql»]

USE master;
GO
ALTER DATABASE CM_ASD SET TRUSTWORTHY ON
GO

[/code]

[code lang=»sql»]

USE master;
GO
ALTER DATABASE CM_ASD SET HONOR_BROKER_PRIORITY ON
GO

[/code]

Проверим, что значения изменились:

[code lang=»sql»]select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on from sys.databases where name = ‘CM_ASD'[/code]

sccm2012-sql2008-2012-14

7. Теперь возвращаемся на наш сервер SCCM, чтобы настроить сайт-сервер на использование новой базы данных на SQL 2012.

Открываем Пуск — Microsoft System Center 2012 — Configuration Manager — Configuration Manager Setup:

sccm2012-sql2008-2012-15

Выбираем Perform site maintenance or reset this site:

sccm2012-sql2008-2012-16

Далее, Modify SQL Server configuration, для изменения базы данных sql:

sccm2012-sql2008-2012-17

В поле SQL Server name вводим FQDN имя нашего нового сервера sql 2012. Если вы используете не стандартное Instance name, тогда не забываем и про него:

sccm2012-sql2008-2012-18

Дожидаемся выполнения всех операций по смене базы данных sccm 2012:

sccm2012-sql2008-2012-19

В конце можно посмотреть лог, чтобы убедиться, что все прошло успешно и сайт сервер sccm был перенаправлен на новый sql сервер:

sccm2012-sql2008-2012-24

После перезагрузки сервера SCCM, в разделе Administration — Site Configuration — Servers and Site System Roles можно наблюдать новый SQL сервер:

sccm2012-sql2008-2012-22

3 КОММЕНТАРИИ

  1. Добрый день. Мне нужно перенести Primary Site 2103 (на сервере установлены все роли, включая БД) на новый сервер. Дистрибутив у меня есть только на 1802. Текущий работает нормально, но есть проблемы с физической памятью. С бэкапами все ОК. Подскажите, пожалуйста, особенности миграции для Current Branch. Спасибо.

Добавить комментарий