- Migrating the WSUS Database from WID to SQL
- Prerequisites
- Migrating the WSUS database
- Stop the IIS and WSUS services on the WSUS server
- Detach SUSDB from the Windows Internal Database
- Using SQL Management Studio
- Using Command Prompt
- Copy the SUSDB files to the SQL Server
- Attach SUSDB to the SQL Instance
- Verify SQL Server and Database Logins and Permissions
- SQL Server Login Permissions
- Database Permissions
- Edit the registry to point WSUS to the SQL Server Instance
- Start the IIS and WSUS services on the WSUS server
- Uninstalling the WID role (not recommended)
- Установка сервера обновлений WSUS на Windows Server 2012 R2 / 2016
- Установка роли WSUS на Windows Server 2012 R2 / 2016
- Начальная настройка сервера обновлений WSUS в Windows Server 2012 R2 / 2016
Migrating the WSUS Database from WID to SQL
Applies to: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
Use the following steps to migrate the WSUS database (SUSDB) from a Windows Internal Database instance to a Local or Remote instance of SQL Server.
Prerequisites
- SQL Instance. This can be the default MSSQLServer or a custom Instance.
- SQL Server Management Studio
- WSUS with WID role installed
- IIS (This is normally included when you install WSUS through Server Manager). It is not already installed, it will need to be.
Migrating the WSUS database
Stop the IIS and WSUS services on the WSUS server
From PowerShell (elevated), run:
Detach SUSDB from the Windows Internal Database
Using SQL Management Studio
- Right-click SUSDB ->Tasks -> click Detach:
Tasks > Detach option selected.» data-linktype=»relative-path»/>
- Check Drop Existing Connections and click OK (optional, if active connections exist).
Using Command Prompt
These steps show how to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility. For more information about the sqlcmd utility, see sqlcmd Utility.
- Open an elevated command prompt
- Run the following SQL command to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility:
Copy the SUSDB files to the SQL Server
- Copy SUSDB.mdf and SUSDB_log.ldf from the WID Data Folder (%SystemDrive%\Windows\WID\Data) to the SQL Instance Data Folder.
For example, if your SQL Instance Folder is C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL, and the WID Data folder is C:\Windows\WID\Data, copy the SUSDB files from C:\Windows\WID\Data to C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data
Attach SUSDB to the SQL Instance
- In SQL Server Management Studio, under the Instance node, right-click Databases, and then click Attach.
Attach option selected.» data-linktype=»relative-path»/>
- In the Attach Databases box, under Databases to attach, click the Add button and locate the SUSDB.mdf file (copied from the WID Folder), and then click OK.
This is also able to be done using Transact-Sql. Please see the SQL documentation for attaching a database for its instructions.
Example (using paths from previous example):
Verify SQL Server and Database Logins and Permissions
SQL Server Login Permissions
After attaching the SUSDB, verify that NT AUTHORITY\NETWORK SERVICE has login permissions to the instance of SQL Server by doing the following:
- Go into SQL Server Management Studio
- Opening the Instance
- Click Security
- Click Logins
The NT AUTHORITY\NETWORK SERVICE account should be listed. If it is not, you need to add it by adding New Login Name.
If the SQL Instance is on a different machine from WSUS, the WSUS Server’s computer account should be listed in the format [FQDN]\[WSUSComputerName]$. If not, the steps below can be used to add it, replacing NT AUTHORITY\NETWORK SERVICE with the WSUS Server’s computer account ([FQDN]\[WSUSComputerName]$) This would be in addition to granting rights to NT AUTHORITY\NETWORK SERVICE
Adding NT AUTHORITY\NETWORK SERVICE and granting it rights
- Right Click Logins and click New Login…
New Login option selected.» data-linktype=»relative-path»/>
- On the General page, fill out the Login name (NT AUTHORITY\NETWORK SERVICE), and set the Default database to SUSDB.
- On the Server Roles page, ensure public and sysadmin are selected.
- On the User Mapping page:
- Under Users mapped to this login: select SUSDB
- Under Database role membership for: SUSDB, ensure the following are checked:
- public
- webService
- Click OK
You should now see NT AUTHORITY\NETWORK SERVICE under Logins.
Database Permissions
- Right-click the SUSDB
- Select Properties
- Click Permissions
The NT AUTHORITY\NETWORK SERVICE account should be listed.
If it is not, add the account.
On the Login name textbox, enter the WSUS machine in the following format:
Verify that the Default database is set to SUSDB.
In the following example, the FQDN is Contosto.com and the WSUS machine name is WsusMachine:
On the User Mapping page, select the SUSDB Database under Users mapped to this login
Check webservice under the Database role membership for: SUSDB:
Click OK to save settings.
You may need to restart the SQL Service for the changes to take effect.
Edit the registry to point WSUS to the SQL Server Instance
Follow the steps in this section carefully. Serious problems might occur if you modify the registry incorrectly. Before you modify it, back up the registry for restoration in case problems occur.
Click Start, click Run, type regedit, and then click OK.
Locate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName
In the Value text box, type [ServerName]\[InstanceName], and then click OK. If the instance name is the default instance, type [ServerName].
Locate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase
Rename the Key to UpdateServices-Database
If you do not update this key, then WsusUtil will attempt to service the WID rather than the SQL Instance to which you have migrated.
Start the IIS and WSUS services on the WSUS server
From PowerShell (elevated), run:
If you are using the WSUS Console, close and restart it.
Uninstalling the WID role (not recommended)
Removing the WID role also removes a database folder (%SystemDrive%\Program Files\Update Services\Database) that contains scripts required by WSUSUtil.exe for post-installation tasks. If you choose to uninstall the WID role, make sure you back up the %SystemDrive%\Program Files\Update Services\Database folder beforehand.
After the WID role is removed, verify that the following registry key is present: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database
Установка сервера обновлений WSUS на Windows Server 2012 R2 / 2016
Windows Server Update Services (WSUS) — это служба обновлений, позволяющая администраторам централизованно управлять расстановкой патчей и обновлений безопасностей для продуктов Microsoft (операционных систем Widows, Office, SQL Server, Exchange и т.д.) на компьютерах и серверах в корпоративной сети. Вкратце напомним, как работает WSUS: сервер WSUS по расписанию синхронизируется с сервером обновлений Microsoft в Интернете и выкачивает новые обновления для выбранных продуктов. Администратор WSUS выбирает какие обновления необходимо установить на рабочие станции и сервера компании. Клиенты WSUS скачивают и устанавливают требуемые обновления с корпоративного сервера обновлений согласно настроенным политикам. Использование собственного сервера обновлений WSUS позволяет экономить интернет трафик и более гибко управлять установкой обновлений в компании.
Компания Microsoft предлагает и другие средства установки обновлений на свои продукты, например, SCCM 2007/2012. Однако в отличии от многих других продуктов, сервер WSUS является абсолютно бесплатным (на самом деле служба обновлений в SCCM – SUP Software Update Point также основана на WSUS).
Принципиально в новой версии WSUS в Windows Server 2012R2 / 2016 практически ничего не изменилось. Отметим, что теперь установочный пакет WSUS нельзя скачать отдельно с сайта Microsoft, он интегрирован в дистрибутив Windows Server и устанавливается в виде отдельной роли сервера. Кроме того, во WSUS 6.0 появилась возможность управления установкой обновлений с помощью PowerShell.
В этой статье мы рассмотрим базовые вопросы установки и настройки сервера WSUS на базе Windows Server 2012 R2 / Windows Server 2016.
Установка роли WSUS на Windows Server 2012 R2 / 2016
Еще в Windows Server 2008 сервис WSUS был выделен в отдельную роль, которую можно было установить через консоль управления сервером. В Windows Server 2012 / R2 этот момент не поменялся. Откройте консоль Server Manager и отметьте роль Windows Server Update Services (система автоматически выберет и предложит установить необходимые компоненты веб сервера IIS).
Отметьте опцию WSUS Services, далее необходимо выбрать тип базы данных, которую будет использовать WSUS.
В Windows Server 2012 R2 поддерживаются следующие типы SQL баз данных для WSUS сервера:
- Windows Internal Database (WID);
- Microsoft SQL Server 2008 R2 SP1, 2012, 2014, 2016 в редакциях Enterprise / Standard / Express Edition;
- Microsoft SQL Server 2012 Enterprise / Standard / Express Edition.
Соответственно вы можете использовать встроенную базу данных Windows WID (Windows Internal database), которая является бесплатной и не требует дополнительного лицензирования. Либо вы можете использовать выделенную локальная или удаленную (на другом сервере) базу данных на SQL Server для хранения данных WSUS.
База WID по умолчанию называется SUSDB.mdf и хранится в каталоге windir%\wid\data\. Эта база поддерживает только Windows аутентификацию (но не SQL). Инстанс внутренней (WID) базы данных для WSUS называется server_name\Microsoft##WID. В базе данных WSUS хранятся настройки сервера обновлений, метаданные обновлений и сведения о клиентах сервера WSUS.
Внутреннюю базу Windows (Windows Internal Database) рекомендуется использовать, если:
- Организация не имеет и не планирует покупать лицензии на SQL Server;
- Не планируется использовать балансировку нагрузки на WSUS (NLB WSUS);
- Если планируется развернуть дочерний сервер WSUS (например, в филиалах). В этом случае на вторичных серверах рекомендуется использовать встроенную базу WSUS.
Базу WID можно администрировать через SQL Server Management Studio (SSMS), если указать в строке подключения \\.\pipe\MICROSOFT##WID\tsql\query.
Отметим, что в бесплатных редакциях SQL Server 2008/2012 Express имеет ограничение на максимальный размер БД – 10 Гб. Скорее всего это ограничение достигнуто не будет (например, размер базы WSUS на 2500 клиентов – около 3 Гб). Ограничение Windows Internal Database – 524 Гб.
В случае, установки роли WSUS и сервера БД на разных серверах, существует ряд ограничений:
- SQL сервер с БД WSUS не может быть контроллером домена;
- Сервер WSUS не может быть одновременно сервером терминалов с ролью Remote Desktop Services;
Если вы планируете использовать встроенную базу данных (это вполне рекомендуемый и работоспособный вариант даже для больших инфраструктур), отметьте опцию WID Database.
Затем нужно указать каталог, в котором будут храниться файлы обновлений (рекомендуется, чтобы на выбранном диске было как минимум 10 Гб свободного места).
В том случае, если ранее было выбрано использование отдельной выделенной БД SQL, необходимо указать имя сервера СУБД, инстанса БД и проверить подключение.
Далее запустится установка роли WSUS и всех необходимых компонентов, после окончания которых запустите консоль управления WSUS в консоли Server Manager.
Вы также можете установить сервер WSUS со внутренней базой данных с помощью следующей команды PowerShell:
Install-WindowsFeature -Name Updateservices,UpdateServices-WidDB,UpdateServices-services –IncludeManagementTools
Начальная настройка сервера обновлений WSUS в Windows Server 2012 R2 / 2016
При первом запуске консоли WSUS автоматически запустится мастер настройки сервера обновлений. Рассмотрим основные шаги настройки сервера WSUS с помощью мастера.
Укажите, будет ли сервер WSUS брать обновления с сайта Microsoft Update напрямую или он должен качать его с вышестоящего WSUS сервера (обычно этот вариант используется в крупных сетях для настройки WSUS сервера большого регионального подразделения, который берет обновления с WSUS центрального офиса, чем существенно снижается нагрузка на каналы связи между центральным офисом и филиалом).
Если ваш сервер WSUS сам должен загружать обновления с серверов Windows Update, и доступ в Интернет у вас осуществляется через прокси-сервер, вы должны указать адрес прокси сервера, порт и логин/пароль для авторизации на нем.
Далее проверяется связь с вышестоящим сервером обновления. Нажмите кнопку Start Connecting.
Затем необходимо выбрать языки, для которых WSUS будет скачивать обновления. Мы укажем English и Russian (список языков может быть в дальнейшем изменен из консоли WSUS).
Затем указывается список продуктов, для которых WSUS должен скачивать обновления. Необходимо выбрать все продукты Microsoft, которые используются в Вашей корпоративной сети. Имейте в виду, что все обновления занимают дополнительное место на диске, поэтому лишние продукты отмечать не следует. Если вы точно уверены, что в вашей сети не осталось компьютеров с Windows XP или Windows 7, не выбирайте эти опции. Тем самым вы сэкономите существенно место на диске WSUS сервера.
На странице Classification Page, нужно указать типы обновлений, которые будут распространяться через WSUS. Рекомендуется обязательно указать: Critical Updates, Definition Updates, Security Packs, Service Packs, Update Rollups, Updates.
Далее необходимо указать расписание синхронизации обновлений – рекомендуется использовать автоматическую ежедневную синхронизацию сервера WSUS с серверами обновлений Microsoft Update. Имеет смысл выполнять синхронизацию в ночные часы, чтобы не загружать канал доступа в Интернет в рабочее время.
Первоначальная синхронизация сервера WSUS с вышестоящим сервером обновлений может занят несколько дней, в зависимости от количества продуктов, которое вы выбрали ранее и скорости доступа в Интернет.
После окончания работы мастер запустится консоль WSUS.
С целью повышения производительности сервера WSUS на Windows Server рекомендуется исключить следующие папки из области проверки антивируса:
- \WSUS\WSUSContent;
- %windir%\wid\data;
- \SoftwareDistribution\Download.
Клиенты теперь могут получать обновления, подключившись к WSUS серверу по порту 8530 (в Windows Server 2003 и 2008 по умолчанию использоваться 80 порт). При большом количестве компьютеров (более 1500) производительность пула IIS WsusPoll, который раздает обновления клиентов, можно отрегулировать согласно статье.
Для возможности просмотра отчетов по установленным обновлениям на сервере WSUS нужно установить дополнительный компоненты Microsoft Report Viewer 2008 SP1 Redistributable (или выше), который можно свободно скачать с сайта Microsoft.