четверг, 6 мая 2010 г.

WSUS - Миграция базы данных с СУБД SQL Server 2005 на СУБД SQL Server 2008

В английском варианте это звучало бы: WSUS - Migrating from SQL Server 2005 Database to SQL Server 2008 Database
Конечно же всем для начала читать WSUS - Migrating from Windows Internal Database to SQL Server 2005
Миграция выполняется буквально в несколько шагов - ничего сложного:
1.Останавливаем службу "Update Services" на своем сервере WSUS
2.Заходим в SQL Server Management Studio на сервер баз данных SQL Server 2005 на котором "крутиться" в настоящий момент база WSUS. И делаем праой кнопкой на базе WSUS (скорее всего имя базы будет SUSDB) следующее Tasks -> Take Offline
3.Копируем файлы базы данных на сервер баз данных SQL Server 2008
4.На сервере баз данных SQL Server 2008 через SQL Server Management Studio (для 2008 своя оснастка, отличная от 2005) на корне заходим в Databases -> Attach и выбираем файл базы данных .mdf жмем OK, после чего база будет присоединена к серверу и будет в работе.
5.Теперь необходимо направить сервер WSUS на новый сервер баз данных SQL Server 2008. Для этого заходим на сервер WSUS (например по RDP), находим в реестре (regedit) следующую ветку:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup]
выбираем параметр:
SqlServerName, здесь ранне стояло имя алиаса DNS для подключения к SQL Server 2005, например: "db_wsus_susdb" и всё работало, теперь же указываем также имя DNS алиаса(DNS псевдонима) но с указанием имени инстанса уже: "db_wsus_susdb\cluster02sql2".
Естественно DNS алиас направляем на новый сервер баз данных SQL Server 2008.

Дело в том, что в моем случае был Active\Active кластер с двумя инстансами: один из которых назывался "cluster02sql2", а имя виртуаьлного узла кластера sql сервера было "cluster-02-sql2" на который, как раз и направили DNS алиас.

Возможно у кого-то зараработает и без указания имени DNS алиаса, но в рассматриваемой кластерной среде так не заработало, возможно дело в том, что SQL инстанс именованный - отличный от дефолтового и ещё отличается от имени витруального узла кластера.
Параметры:
"SqlAuthenticationMode"="WindowsAuthentication"
"SqlDatabaseName"="SUSDB"
"SqlUserName"=""
"SqlEncryptedPassword"=""
оставил без изменения.
6.Необходимо добавить учетную запись компьютера, на котором распологается WSUS сервис - "Update Services" на доступ к SQL Server 2008, для эого заходим через SQL Server Management Studio в корне оснастки Security -> на Logins жмем правой кнопкой и выбираем "New Login...", поскольку мы в находимся в доменной среде и безопасность сервера находиться в режиме Mixed mode, выбираем Windows authentication, в поле "Login Name" вводим имя компьютерного аккаунта, например, "WSUS-Server" и в конце добавляем знак $, т.е. должно получиться "WSUS-Server$", у меня тоже не получилось с первого раза, всё дело в том, что на базу master доступ компьютерным аккаунтам дается по-другому, что бы получилось - нужно указать нашу базу SUSDB. После добавления аккаунта предоставил ему роль на базу db_owner.
7.На сервере WSUS запускаем "Update Services", если все операции начиная с первой вы проделали очень быстро, то, возможно, ещё не очистился DNS кэш со старым значение DNS алиаса для разрешения этой проблемы, можно выполнить команду: ipconfig /flushdns, но лучше перезагрузить компьютер.

Комментариев нет:

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