Перенос базы данных 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

  1. Щелкните правой кнопкой мыши SUSDB ->Tasks — нажмите кнопку "Отсоединить":>Screenshot of SQL Server Management Studio showing the SUSDB > Tasks > Detach option selected.
  2. Проверьте удаление существующих Подключение и нажмите кнопку "ОК" (необязательно, если существуют активные подключения). Screenshot of the Detach Database dialog box with the Drop Existing Connections option selected and the OK option highlighted.

Использование командной строки

Внимание

В этих шагах показано, как отсоединить базу данных WSUS (SUSDB) от экземпляра внутренняя база данных Windows с помощью служебной программы sqlcmd. Дополнительные сведения о служебной программе sqlcmd см. в статье sqlcmd Utility.

  1. Откройте командную строку с повышенными привилегиями
  2. Выполните следующую команду 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

  1. Скопируйте 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

  1. В СРЕДЕ SQL Server Management Studio в узле экземпляра щелкните правой кнопкой мыши базы данных и нажмите кнопку "Подключить". Screenshot of SQL Server Management Studio showing the Databases > Attach option selected.
  2. В поле "Присоединение баз данных" в разделе "Базы данных" нажмите кнопку "Добавить" и найдите файл SUSDB.mdf (скопированный из папки WID), а затем нажмите кнопку "ОК". Screenshot of the Attach Databases dialog box with the Add option highlighted.Screenshot of the Locate Database Files dialog box with the S U S D B M D F file highlighted.

Совет

Это также можно сделать с помощью 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, выполнив следующие действия.

  1. Переход в SQL Server Management Studio
  2. Открытие экземпляра
  3. Щелкните " Безопасность"
  4. Щелкните "Имена входа"

Должна быть указана учетная запись NT AUTHORITY\NETWORK SERVICE. Если это не так, необходимо добавить его, добавив новое имя входа.

Внимание

Если экземпляр SQL находится на другом компьютере с WSUS, учетная запись компьютера СЕРВЕРА WSUS должна быть указана в формате [полное доменное имя]\[WSUSComputerName]$. Если нет, приведенные ниже шаги можно использовать для добавления, заменив NT AUTHORITY\NETWORK SERVICE учетной записью компьютера WSUS Server ([FQDN]\[WSUSComputerName]$) Это будет в дополнение кпредоставлению прав NT AUTHORITY\NETWORK SERVICE

Добавление NT AUTHORITY\NETWORK SERVICE и предоставление прав
  1. Щелкните правой кнопкой мыши имена входа и нажмите кнопку "Создать имя входа" ...Screenshot of SQL Server Management Studio showing the Logins > New Login option selected.
  2. На странице "Общие" введите имя входа (NT AUTHORITY\NETWORK SERVICE) и задайте для базы данных по умолчанию значение SUSDB. Screenshot of the General page of the Login dialog box showing the Login name and Defualt database fields populated.
  3. На странице " Роли сервера" убедитесь, что выбраны общедоступные и системные администраторы . Screenshot of the Server Roles page of the Login dialog box showing the public and sysadmin options selected.
  4. На странице сопоставления пользователей:
    • В разделе "Пользователи, сопоставленные с этим именем входа": выберите SUSDB
    • В разделе "Членство в роли базы данных" для: SUSDB убедитесь, что следующие проверка:
      • public
      • WebserviceScreenshot of the User Mapping page of the Login dialog box showing the public and webService options selected.
  5. Нажмите кнопку ОК.

Теперь вы увидите NT AUTHORITY\NETWORK SERVICE в разделе "Имена входа". Screenshot of the Object Explorer showing N T AUTHORITY NETWORK SERVICE under Logins.

Разрешения базы данных

  1. Щелкните правой кнопкой мыши SUSDB
  2. Выберите пункт Свойства.
  3. Щелкните разрешения

Должна быть указана учетная запись NT AUTHORITY\NETWORK SERVICE.

  1. Если это не так, добавьте учетную запись.

  2. В текстовом поле "Имя входа" введите компьютер WSUS в следующем формате:

    [полное доменное имя]\[WSUSComputerName]$

  3. Убедитесь, что для базы данных по умолчанию задано значение SUSDB.

    Совет

    В следующем примере полное доменное имя — Contosto.com , а имя компьютера WSUS — WsusMachine:

    Screenshot of the Login dialog box showing that the FQDN is Contosto.com** and the W S U S machine name is W s u s Machine.

  4. На странице "Сопоставление пользователей" выберите базу данных SUSDB в разделе "Пользователи", сопоставленные с этим именем входа.

  5. Проверьте веб-службу в разделе членства в роли базы данных: SUSDB: Screenshot of the User Mapping page of the Login dialog box showing the SUSDB and webService options selected.

  6. Нажмите кнопку "ОК ", чтобы сохранить параметры.

    Примечание.

    Чтобы изменения вступили в силу, может потребоваться перезапустить службу SQL.

Измените реестр, чтобы указать WSUS на экземпляр SQL Server

Важно!

Точно следуйте всем указаниям из этого раздела. Неправильное изменение реестра может привести к серьезным проблемам. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.

  1. Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите regedit и нажмите кнопку "ОК".

  2. Найдите следующий ключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. В текстовом поле "Значение " введите [имя_сервера]\[имя_экземпляра], а затем нажмите кнопку "ОК". Если имя экземпляра является экземпляром по умолчанию, введите [Имя_сервера].

  4. Найдите следующий ключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Role Services\UpdateServices-WidDatabaseScreenshot of the Registry Editor dialog box with the UpdateServices-WidDatabase key highlighted.

  5. Переименование ключа в UpdateServices-DatabaseScreenshot of the Registry Editor dialog box showing the key name update to UpdateServices-Database.

    Примечание.

    Если этот ключ не обновлен, WsusUtil попытается обслуживать WID, а не экземпляр SQL, в который вы перенесены.

Запуск служб IIS и WSUS на сервере WSUS

В PowerShell (с повышенными привилегиями) выполните следующую команду:

    Start-Service IISADMIN
    Start-Service WsusService

Примечание.

Если вы используете консоль WSUS, закройте и перезапустите ее.

Предупреждение

При удалении роли 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