Перенос базы данных WSUS из WID в SQL
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016
Выполните следующие действия, чтобы перенести базу данных WSUS (SUSDB) из экземпляра внутренняя база данных Windows в локальный или удаленный экземпляр SQL Server.
Необходимые компоненты
- Экземпляр SQL. Это может быть msSQLServer по умолчанию или настраиваемый экземпляр.
- Среда SQL Server Management Studio
- WSUS с установленной ролью WID
- СЛУЖБЫ IIS (обычно это включается при установке WSUS через диспетчер сервера). Он еще не установлен, он должен быть.
Перенос базы данных WSUS
Остановка служб IIS и WSUS на сервере WSUS
В PowerShell (с повышенными привилегиями) выполните следующую команду:
Stop-Service IISADMIN
Stop-Service WsusService
Отключение SUSDB от внутренняя база данных Windows
Использование SQL Management Studio
- Щелкните правой кнопкой мыши SUSDB ->Tasks — нажмите кнопку "Отсоединить":>
- Проверьте удаление существующих Подключение и нажмите кнопку "ОК" (необязательно, если существуют активные подключения).
Использование командной строки
Внимание
В этих шагах показано, как отсоединить базу данных WSUS (SUSDB) от экземпляра внутренняя база данных Windows с помощью служебной программы sqlcmd. Дополнительные сведения о служебной программе sqlcmd см. в статье sqlcmd Utility.
- Откройте командную строку с повышенными привилегиями
- Выполните следующую команду SQL, чтобы отключить базу данных WSUS (SUSDB) от экземпляра внутренняя база данных Windows с помощью служебной программы sqlcmd:
sqlcmd -S \\.\pipe\Microsoft##WID\tsql\query
use master
GO
alter database SUSDB set single_user with rollback immediate
GO
sp_detach_db SUSDB
GO
Копирование файлов SUSDB в SQL Server
- Скопируйте SUSDB.mdf и SUSDB_log.ldf из папки данных WID (%SystemDrive%\Windows\WID\Data) в папку данных экземпляра SQL.
Совет
Например, если папка экземпляра SQL — C:\Program Files\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL, а папка данных WID — C:\Windows\WID\Data, скопируйте файлы SUSDB из C:\Windows\WID\Data в C:\Program Files\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL\Data
Присоединение SUSDB к экземпляру SQL
- В СРЕДЕ SQL Server Management Studio в узле экземпляра щелкните правой кнопкой мыши базы данных и нажмите кнопку "Подключить".
- В поле "Присоединение баз данных" в разделе "Базы данных" нажмите кнопку "Добавить" и найдите файл SUSDB.mdf (скопированный из папки WID), а затем нажмите кнопку "ОК".
Совет
Это также можно сделать с помощью Transact-Sql. См. документацию по SQL для присоединения базы данных к инструкциям.
Пример (использование путей из предыдущего примера):
USE master;
GO
CREATE DATABASE SUSDB
ON
(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\SUSDB.mdf'),
(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\SUSDB_Log.ldf')
FOR ATTACH;
GO
Проверка учетных записей SQL Server и баз данных и разрешений
Разрешения для входа в SQL Server
После подключения SUSDB убедитесь, что NT AUTHORITY\NETWORK SERVICE имеет разрешения на вход в экземпляр SQL Server, выполнив следующие действия.
- Переход в SQL Server Management Studio
- Открытие экземпляра
- Щелкните " Безопасность"
- Щелкните "Имена входа"
Должна быть указана учетная запись NT AUTHORITY\NETWORK SERVICE. Если это не так, необходимо добавить его, добавив новое имя входа.
Внимание
Если экземпляр SQL находится на другом компьютере с WSUS, учетная запись компьютера СЕРВЕРА WSUS должна быть указана в формате [полное доменное имя]\[WSUSComputerName]$. Если нет, приведенные ниже шаги можно использовать для добавления, заменив NT AUTHORITY\NETWORK SERVICE учетной записью компьютера WSUS Server ([FQDN]\[WSUSComputerName]$) Это будет в дополнение кпредоставлению прав NT AUTHORITY\NETWORK SERVICE
Добавление NT AUTHORITY\NETWORK SERVICE и предоставление прав
- Щелкните правой кнопкой мыши имена входа и нажмите кнопку "Создать имя входа" ...
- На странице "Общие" введите имя входа (NT AUTHORITY\NETWORK SERVICE) и задайте для базы данных по умолчанию значение SUSDB.
- На странице " Роли сервера" убедитесь, что выбраны общедоступные и системные администраторы .
- На странице сопоставления пользователей:
- В разделе "Пользователи, сопоставленные с этим именем входа": выберите SUSDB
- В разделе "Членство в роли базы данных" для: SUSDB убедитесь, что следующие проверка:
- public
- Webservice
- Нажмите кнопку ОК.
Теперь вы увидите NT AUTHORITY\NETWORK SERVICE в разделе "Имена входа".
Разрешения базы данных
- Щелкните правой кнопкой мыши SUSDB
- Выберите пункт Свойства.
- Щелкните разрешения
Должна быть указана учетная запись NT AUTHORITY\NETWORK SERVICE.
Если это не так, добавьте учетную запись.
В текстовом поле "Имя входа" введите компьютер WSUS в следующем формате:
[полное доменное имя]\[WSUSComputerName]$
Убедитесь, что для базы данных по умолчанию задано значение SUSDB.
Совет
В следующем примере полное доменное имя — Contosto.com , а имя компьютера WSUS — WsusMachine:
На странице "Сопоставление пользователей" выберите базу данных SUSDB в разделе "Пользователи", сопоставленные с этим именем входа.
Проверьте веб-службу в разделе членства в роли базы данных: SUSDB:
Нажмите кнопку "ОК ", чтобы сохранить параметры.
Примечание.
Чтобы изменения вступили в силу, может потребоваться перезапустить службу SQL.
Измените реестр, чтобы указать WSUS на экземпляр SQL Server
Важно!
Точно следуйте всем указаниям из этого раздела. Неправильное изменение реестра может привести к серьезным проблемам. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.
Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите regedit и нажмите кнопку "ОК".
Найдите следующий ключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName
В текстовом поле "Значение " введите [имя_сервера]\[имя_экземпляра], а затем нажмите кнопку "ОК". Если имя экземпляра является экземпляром по умолчанию, введите [Имя_сервера].
Найдите следующий ключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Role Services\UpdateServices-WidDatabase
Переименование ключа в UpdateServices-Database
Примечание.
Если этот ключ не обновлен, WsusUtil попытается обслуживать WID, а не экземпляр SQL, в который вы перенесены.
Запуск служб IIS и WSUS на сервере WSUS
В PowerShell (с повышенными привилегиями) выполните следующую команду:
Start-Service IISADMIN
Start-Service WsusService
Примечание.
Если вы используете консоль WSUS, закройте и перезапустите ее.
Удаление роли WID (не рекомендуется)
Предупреждение
При удалении роли WID также удаляется папка базы данных (%SystemDrive%\Program Files\Update Services\Database), содержащая скрипты, необходимые WSUSUtil.exe для выполнения задач после установки. Если вы решили удалить роль WID, обязательно создайте резервную копию папки %SystemDrive%\Program Files\Update Services\Database .
Использование PowerShell:
Uninstall-WindowsFeature -Name 'Windows-Internal-Database'
После удаления роли WID убедитесь, что следующий раздел реестра присутствует: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Role Services\UpdateServices-Database