В процессе развёртывания WSUS 3.0 в конфигурации по умолчанию на сервер устанавливается специальный экземпляр Windows Internal Database, который не даёт возможности подключаться к данным БД WSUS (по умолчанию имя базы - SUSDB) с удалённых компьютеров. Если по какой-то причине возникает необходимость в удалённом подключении к базе данных WSUS, нам потребуется развернуть как минимум SQL Server 2005/2008 Express Edition и перенести SUSDB в этот экземпляр. Экземпляр SQL Server может быть как локальный (установленный на самом WSUS сервере) так и удалённый. Рассмотрим пошагово порядок переноса базы данных WSUS на удалённый экземпляр SQL Server 2008 R2.
Последовательность действий будет такая:
- На WSUS сервер, работающий на Windows Internal Database, устанавливаем минимальный набор клиентских компонент SQL Server 2008 R2.
- На WSUS сервере с помощью установленных клиентских компонент отсоединяем базу данных SUSDB.
- На сервере c SQL Server 2008 R2 присоединяем базу данных SUSDB и настраиваем необходимые разрешения для доступа сервера WSUS к этой базе данных.
- Настраиваем WSUS сервер на работу с экземпляром SUSDB на удалённом сервере c SQL Server 2008 R2
Шаг #1. Устанавливаем клиентские компоненты SQL Server на сервер WSUS
Скачиваем пакеты Microsoft SQL Server Native Client и Microsoft SQL Server 2008 R2 Command Line Utilities (sqlcmd) из состава Microsoft SQL Server 2008 R2 Feature Pack в соответствии с платформой нашего WSUS сервера. В нашем случае это будут файлы SqlCmdLnUtils.msi и sqlncli.msi для платформы X64. Сначала устанавливаем клиентские компоненты Microsoft SQL Server Native Client …
… затем устанавливаем пакет Microsoft SQL Server 2008 R2 Command Line Utilities …
На самом деле вместо этих двух пакетов можно скачать и установить Microsoft SQL Server 2008 R2 RTM - Management Studio Express и операцию отсоединения БД WSUS произвести в удобном GUI, но при этом размер загружаемого дистрибутива увеличится более чем в 8 раз (с 19,6Mb до 163Mb) поэтому данный вариант мы рассматривать не будем.
Шаг #2. Отсоединяем базу SUSDB от экземпляра Windows Internal Database
На сервере WSUS останавливаем системные службы Update Services и IIS Admin Service. Быстро сделать это можно, например, с помощью команды:
net stop WsusService & net stop IISADMIN
После того как службы успешно остановлены, с помощью утилиты sqlcmd выполняем подключение к локальному экземпляру Windows Internal Database на сервере WSUS и выполняем отсоединение БД WSUS с помощью следующей последовательности команд:
sqlcmd -S np:\.pipeMSSQL$MICROSOFT##SSEEsqlquery
use master
alter database SUSDB set single_user with rollback immediate
go
sp_detach_db SUSDB
go
Обратите внимание на то, что на время нашей сессии первой командой мы добавляем в переменные окружения путь к каталогу, в котором расположена утилита sqlcmd (по умолчанию это ‘C:Program FilesMicrosoft SQL Server100ToolsBinn’)
Шаг #3. Присоединяем базу SUSDB на сервере SQL Server 2008 R2
C сервера WSUS файлы БД SUSDB.mdf и SUSDB_log.ldf (по умолчанию расположены в каталоге C:WSUSUpdateServicesDbFiles) переносим на сервер с установленным SQL Server 2008 R2, после чего на сервере баз данных открываем SQL Server Management Studio и выполняем присоединение скопированных файлов базы SUSDB
При присоединении имена файлов и базы данных оставляем без изменений...
После того как БД присоединена нам нужно настроить разрешения для возможности удалённого подключения к ней службы Update Services сервера WSUS. Так как эта служба на WSUS сервере по умолчанию работает от имени служебной учетной записи Network Service – нам необходимо добавить разрешение для доменной учетной записи компьютера - сервера WSUS дающее право на удалённое подключение к экземпляру SQL Server. Можно конечно явным образом добавить учетную запись сервера WSUS в список логинов SQL Server, но более правильно будет создать для этих целей специальную доменную группу безопасности. Создадим такую группу…
… и включим в эту группу учетную запись компьютера – сервера WSUS.
Далее добавляем на сервере SQL Server в список логинов созданную доменную группу следующей командой SQL:
CREATE LOGIN "DOMAINKOM-AD01-SRV-ADM-WSUS" FROM WINDOWS;
GO
После выполнения команды проверяем то, что в SQL Server Management Studio (Security > Logins) списке логинов отображается добавленная группа безопасности.
Далее нам нужно открыть свойства созданного SQL-Логина и на закладке User Mapping, cвязать логин с базой SUSDB и включить его в роль webService
Шаг #4. Настраиваем сервер WSUS
Для присоединения удалённого экземпляра базы данных SUSDB к фронт-энд серверу WSUS нам потребуется на сервере WSUS внести некоторые изменения с системный реестр в ветку HKLMSOFTWAREMicrosoftUpdateServicesServerSetup
- Значение ключа SqlServerName устанавливаем в SQLSERVERInstanceName
Обратите внимание на то, что если используется инстанс по умолчанию, то есть MSSQLSERVER то его имя не указывается, а указывается только имя сервера, в противном случае WSUS не сможет подключиться к базе… Необъяснимо но факт :)
- Значение ключа wYukonInstalled устанавливаем в 0
- Значение ключа SqlInstanceIsRemote устанавливаем в 1
После правки реестра запускаем службы Update Services (WsusService) и IIS Admin Service (IISADMIN) и проверяем возможность корректного открытия и работы консоли WSUS.
После всего, если вы уверены в том, что теперь на сервере WSUS экземпляр Windows Internal Database не используется более никакими приложениями то, в принципе, можете произвести его удаление. Сделать это стандартным способом через оснастку Add/Remove Programs (appwiz.cpl) не получится и поэтому для удаления придётся воспользоваться инструкцией Update Management TechCenter - Uninstalling Windows Internal Database
Дополнительная информация по теме:
Последние комментарии