Миграция базы данных WSUS из WID в SQLMigrating the WSUS Database from WID to SQL

Область применения: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016Applies to: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016

Выполните следующие действия, чтобы перенести базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows на локальный или удаленный экземпляр SQL Server.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.SQL Instance. Это может быть MSSQLServer или пользовательский экземпляр по умолчанию.This can be the default MSSQLServer or a custom Instance.
  • SQL Server Management StudioSQL Server Management Studio
  • WSUS с установленной ролью WIDWSUS with WID role installed
  • IIS (обычно это включается при установке WSUS с помощью диспетчер сервера).IIS (This is normally included when you install WSUS through Server Manager). Она еще не установлена, она должна быть.It is not already installed, it will need to be.

Миграция базы данных WSUSMigrating the WSUS database

Останавливает службы IIS и WSUS на сервере WSUSStop the IIS and WSUS services on the WSUS server

В PowerShell (с повышенными правами) выполните:From PowerShell (elevated), run:

    Stop-Service IISADMIN
    Stop-Service WsusService

Отсоединение SUSDB от внутренней базы данных WindowsDetach SUSDB from the Windows Internal Database

Использование SQL Management StudioUsing SQL Management Studio

  1. Щелкните правой кнопкой мыши SUSDB - > задачи и - > выберите пункт отсоединить:  image1.Right-click SUSDB -> Tasks -> click Detach: image1
  2. Установите флажок Удалить существующие подключения и нажмите кнопку ОК (необязательно, если существуют активные соединения).Check Drop Existing Connections and click OK (optional, if active connections exist). image2image2

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

Важно!

В этих шагах показано, как отключить базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows с помощью программы sqlcmd .These steps show how to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility. Дополнительные сведения о программе sqlcmd см. в разделе программа sqlcmd.For more information about the sqlcmd utility, see sqlcmd Utility.

  1. Открытие командной строки с повышенными привилегиямиOpen an elevated command prompt
  2. Выполните следующую команду SQL, чтобы отключить базу данных WSUS (SUSDB) из экземпляра внутренней базы данных Windows с помощью программы sqlcmd :Run the following SQL command to detach the WSUS database (SUSDB) from the Windows Internal Database instance by using the sqlcmd utility:
        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 ServerCopy the SUSDB files to the SQL Server

  1. Скопируйте SUSDB. mdf и SUSDB _ log. ldf из папки данных WID (% systemdrive% \ **данных Windows \ WID \ **) в папку данных экземпляра SQL.Copy SUSDB.mdf and SUSDB_log.ldf from the WID Data Folder (%SystemDrive%\Windows\WID\Data) to the SQL Instance Data Folder.

Совет

Например, если папка экземпляра SQL — C:\Program FILES\MICROSOFT SQL Server\MSSQL12. МССКЛСЕРВЕР\МССКЛ, а папка данных WID — к:\виндовс\вид\дата, скопируйте файлы SUSDB из К:\виндовс\вид\дата в папку C:\Program Files\Microsoft SQL Server\MSSQL12. Мссклсервер\мсскл\дата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

Присоединение SUSDB к экземпляру SQLAttach SUSDB to the SQL Instance

  1. В SQL Server Management Studioв узле экземпляр щелкните правой кнопкой мыши узел базы данныхи выберите команду присоединить.In SQL Server Management Studio, under the Instance node, right-click Databases, and then click Attach. image3image3
  2. В поле Присоединение баз данных в разделе базы данных для присоединениянажмите кнопку добавить , найдите файл SUSDB. mdf (скопированный из папки WID) и нажмите кнопку ОК.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. image4  image5image4 image5

Совет

Это также можно сделать с помощью Transact-SQL.This is also able to be done using Transact-Sql. Дополнительные сведения о присоединении базы данных см. в документации по SQL.Please see the SQL documentation for attaching a database for its instructions.

Пример (использование путей из предыдущего примера):Example (using paths from previous example):

   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 и имен входа и разрешений базы данныхVerify SQL Server and Database Logins and Permissions

SQL Server разрешения для входаSQL Server Login Permissions

После подключения SUSDB убедитесь, что NT Authority\Network Service имеет разрешения на вход в экземпляр SQL Server, выполнив следующие действия.After attaching the SUSDB, verify that NT AUTHORITY\NETWORK SERVICE has login permissions to the instance of SQL Server by doing the following:

  1. Переход к SQL Server Management StudioGo into SQL Server Management Studio
  2. Открытие экземпляраOpening the Instance
  3. Щелкните Безопасность .Click Security
  4. Щелкните имена входаClick Logins

Должна быть указана учетная запись NT Authority\Network Service .The NT AUTHORITY\NETWORK SERVICE account should be listed. Если это не так, необходимо добавить новое имя для входа.If it is not, you need to add it by adding New Login Name.

Важно!

Если экземпляр SQL находится на другом компьютере из служб WSUS, учетная запись компьютера сервера WSUS должна быть указана в формате [FQDN] \ [всускомпутернаме] $.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]$. В противном случае можно использовать приведенные ниже шаги, чтобы добавить его, заменив NT Authority\Network Service учетной записью компьютера сервера WSUS ([FQDN] \ [всускомпутернаме] $). это может быть дополнением к предоставлению прав на NT Authority\Network Service .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

Добавление NT AUTHORITY\NETWORK SERVICE и предоставление ей прав доступаAdding NT AUTHORITY\NETWORK SERVICE and granting it rights
  1. Щелкните правой кнопкой мыши имена входа и выберите создать имя входа...Right Click Logins and click New Login… image6image6
  2. На странице Общие введите имя входа (NT Authority\Network Service) и задайте для базы данных по умолчанию значение SUSDB.On the General page, fill out the Login name (NT AUTHORITY\NETWORK SERVICE), and set the Default database to SUSDB. image7image7
  3. На странице роли сервера убедитесь, что выбраны Общие и sysadmin .On the Server Roles page, ensure public and sysadmin are selected. рисунок 8image8
  4. На странице Сопоставление пользователей :On the User Mapping page:
    • В разделе Пользователи, сопоставленные с этим именем входавыберите SUSDB .Under Users mapped to this login: select SUSDB
    • В разделе членство в роли базы данных для: SUSDBубедитесь, что установлены следующие флажки:Under Database role membership for: SUSDB, ensure the following are checked:
      • publicpublic
      • WebService  image9webService image9
  5. Нажмите кнопку ОК.Click OK

Теперь в разделе имена входа будет отображаться NT Authority\Network Service .You should now see NT AUTHORITY\NETWORK SERVICE under Logins. image10image10

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

  1. Щелкните правой кнопкой мыши SUSDBRight-click the SUSDB
  2. Выберите пункт Свойства.Select Properties
  3. Щелкните разрешения .Click Permissions

Должна быть указана учетная запись NT Authority\Network Service .The NT AUTHORITY\NETWORK SERVICE account should be listed.

  1. Если это не так, добавьте учетную запись.If it is not, add the account.

  2. В текстовом поле Login name (имя входа) введите компьютер WSUS в следующем формате:On the Login name textbox, enter the WSUS machine in the following format:

    [Полное доменное имя] \ [Всускомпутернаме] $[FQDN]\[WSUSComputerName]$

  3. Убедитесь, что для базы данных по умолчанию задано значение SUSDB.Verify that the Default database is set to SUSDB.

    Совет

    В следующем примере полное доменное имя — Contosto.com , а имя машины WSUS — всусмачине:In the following example, the FQDN is Contosto.com and the WSUS machine name is WsusMachine:

    image11

  4. На странице Сопоставление пользователей выберите базу данных SUSDB в разделе Пользователи, сопоставленные с этим именем входа .On the User Mapping page, select the SUSDB Database under Users mapped to this login

  5. Проверьте службу WebService в разделе членство в роли базы данных для: SUSDB:  image12.Check webservice under the Database role membership for: SUSDB: image12

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

    Примечание

    Чтобы изменения вступили в силу, может потребоваться перезапустить службу SQL.You may need to restart the SQL Service for the changes to take effect.

Измените реестр, чтобы указать WSUS на экземпляр SQL ServerEdit 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.

  1. Нажмите кнопку Пуск, выберите пункт Выполнить, введите regedit и нажмите кнопку ОК.Click Start, click Run, type regedit, and then click OK.

  2. Откройте следующий раздел: HKEY_LOCAL_MACHINE \софтваре\микрософт\упдатесервицес\сервер\сетуп\склсервернамеLocate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. В текстовом поле значение введите [SERVERNAME] \ [имя_экземпляра] и нажмите кнопку ОК.In the Value text box, type [ServerName]\[InstanceName], and then click OK. Если имя экземпляра является экземпляром по умолчанию, введите [SERVERNAME].If the instance name is the default instance, type [ServerName].

  4. Откройте следующий раздел: HKEY_LOCAL_MACHINE \Софтваре\микрософт\упдате Сервицес\сервер\сетуп\инсталлед Role сервицес\упдатесервицес-виддатабасе  image13Locate the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabase image13

  5. Переименуйте ключ в UpdateServices-Database  image41Rename the Key to UpdateServices-Database image41

    Примечание

    Если не обновить этот ключ, WsusUtil попытается обслуживать WID, а не экземпляр SQL, с которым был осуществлен перенос.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.

Запуск служб IIS и WSUS на сервере WSUSStart the IIS and WSUS services on the WSUS server

В PowerShell (с повышенными правами) выполните:From PowerShell (elevated), run:

    Start-Service IISADMIN
    Start-Service WsusService

Примечание

Если вы используете консоль WSUS, закройте и перезапустите ее.If you are using the WSUS Console, close and restart it.

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

При удалении роли WID также удаляется папка базы данных (%systemdrive%\Program Files\Update сервицес\датабасе), содержащая скрипты, необходимые WSUSUtil.exe для выполнения задач, выполняемых после установки.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. Если вы решили удалить роль WID, убедитесь, что создана резервная копия папки %systemdrive%\Program Files\Update сервицес\датабасе .If you choose to uninstall the WID role, make sure you back up the %SystemDrive%\Program Files\Update Services\Database folder beforehand.

С помощью PowerShell:Using PowerShell:

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

После удаления роли WID убедитесь в наличии следующего раздела реестра: HKEY_LOCAL_MACHINE \Софтваре\микрософт\упдате Сервицес\сервер\сетуп\инсталлед Role сервицес\упдатесервицес-датабасе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