среда, 15 апреля 2015 г.

Перенос базы данных WSUS c внутреннего (Embeded Edition) SQL сервера на SQL Server 2005

Жил себе сервер WSUS на тихоходной железке, которую решили упразднить и сервер Windows 2003 сделать виртуальным в среде VMWare ESXi. Идея на первый взгляд казалась свежей и продуманной... И все было хорошо, пока светлые руководящие головы не решили расширить ассортимент программных продуктов в организации. Встроенный (Embeded Edition SQL Server, он же EE) начал погружаться в себя для медитаций настолько глубоко, что служба обновлений рвала коннект с базой по тайм-ауту. База выросла до 4Гб, задержки обращения к диску стали неприемлемыми и стало ясно, что под VMware ей уже не жить. Пришло время перемен.

Стоит заметить, что базы данных в виртуальной машине-это правило дурного тона, имхо.

Итак, этапы работ и грабли, на которые наступил.



  1. Установка на сервер-источник SQL Server Management Studio
  2. Останавливаем службы  WsusService и IISAdmin (net stop wsusservice & net stop iisadmin)
  3. Подключаемся к базе через именованные каналы \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query Это нужно указать в поле Server при подключении.
  4. Делаем detach базы, заранее осведомившись, где лежат файлы БД с расширением mdf и ldf
  5. Устанавливаем MS SQL Server 2005 на сервер приемник. (!) Стоит обратить внимание, имя экземпляра (instance) имеет в последующем значение. Можно использовать имя по умолчанию, можно назначить свое, но следует это запомнить, в следующих шагах это потребуется
  6. Копируем  файлы баз данных на новое место. (!) В качестве пункта назначения использовался MS Windows Server 2008. и пока не назначил права на скопированные файлы данных (mdf) и журнала (ldf) группе "SQLServer2005MSSQLUser$имя_хоста$MSSQLServer (... " база подключалась в режиме read-only. Следует внимательно проверить права на файлы БД.
  7. Присоединяем базу (attach) к серверу.
  8. Настраиваем права. Хорошая идея создать в AD группу безопасности (Security Group) и включить туда компьютер, на котором располагается служба WSUS. В ветке "Безопасность-Имена входа" (Security - Logins) выбрав просмотр свойств включенной группы идем в раздел "Сопоставление пользователей" (User Mapping). Ставим там флажок напротив нашей базы. В ролях базы данных ставим флажок напротив "webService"
  9. На сервере, где располагается служба WSUS, запускаем редактор реестра и ищем ветку HKLM\SOFTWARE\Microsoft\UpdateServices\Server\Setup и меняем значения ключей
    • SqlServerName = имя сервера или экземпляра
    • wYukonInstalled = 0
    • SqlInstanceIsRemote = 1
  10.  На том же сервере стартуем службы WsusService и IISAdmin (net start wsusservice & net start iisadmin)
Если требуется, можно удалить настольные версии sql сервера
Для 32-битной ОС : msiexec /x {CEB5780F-1A70-44A9-850F-DE6C4F6AA8FB} callerid=ocsetup.exe
Для 64-битной ОС: msiexec /x {BDD79957-5801-4A2D-B09E-852E7FA64D01} callerid=ocsetup.exe

P.S. За полугодовалый период подросла и стала "весить" более 6 гб.


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