Миграция базы данных 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.

  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 \вид\дата) в папку данных экземпляра SQL.

Совет

например, если папка экземпляра SQL — C:\Program files \ Microsoft SQL Server \MSSQL12. мссклсервер\мсскл, а папка данных WID — c:\ Windows \вид\дата, скопируйте файлы SUSDB из C:\ Windows \вид\дата в C:\Program files \ Microsoft SQL Server \MSSQL12. Мссклсервер\мсскл\дата

присоединение 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 должна быть указана в формате [FQDN] \ [всускомпутернаме] $. В противном случае можно использовать приведенные ниже шаги, чтобы добавить его, заменив NT Authority\Network Service учетной записью компьютера сервера WSUS ([FQDN] \ [всускомпутернаме] $). это может быть дополнением к ПРЕДОСТАВЛЕНию прав на 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. На странице роли сервера убедитесь, что выбраны Общие и sysadmin . 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. В текстовом поле Login name (имя входа) введите компьютер WSUS в следующем формате:

    [FQDN] \ [всускомпутернаме] $

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

    Совет

    В следующем примере полное доменное имя — Contosto.com , а имя машины WSUS — всусмачине:

    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. Проверьте службу WebService в разделе членство в роли базы данных для: 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. В текстовом поле значение введите [SERVERNAME] \ [имя_экземпляра]и нажмите кнопку ОК. Если имя экземпляра является экземпляром по умолчанию, введите [SERVERNAME].

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

  5. Переименуйте ключ в UpdateServices-Database .Screenshot 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 сервицес\датабасе), содержащая скрипты, необходимые WSUSUtil.exe для выполнения задач, выполняемых после установки. Если вы решили удалить роль WID, убедитесь, что создана резервная копия папки %systemdrive%\Program Files\Update сервицес\датабасе .

С помощью PowerShell:

Uninstall-WindowsFeature -Name 'Windows-Internal-Database'

После удаления роли WID убедитесь в наличии следующего раздела реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database