Migración de la base de datos WSUS de WID a SQL

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016

Siga estos pasos para migrar la base de datos WSUS (SUSDB) de una instancia Windows Internal Database a una instancia local o remota de SQL Server.

Requisitos previos

  • SQL instancia de . Puede ser el MSSQLServer predeterminado o una instancia personalizada.
  • SQL Server Management Studio
  • WSUS con el rol WID instalado
  • IIS (normalmente se incluye al instalar WSUS a través de Administrador del servidor). Aún no está instalado, tendrá que estarlo.

Migración de la base de datos wsus

Detener los servicios IIS y WSUS en el servidor WSUS

Desde PowerShell (con privilegios elevados), ejecute:

    Stop-Service IISADMIN
    Stop-Service WsusService

Desasoyen SUSDB del Windows Internal Database

Uso de SQL Management Studio

  1. Haga clic con el botón derecho en SUSDB - Tareas - haga clic en Desasoción:Screenshot of SQL Server Management Studio showing the SUSDB > Tasks > Detach option selected.
  2. Active Quitar conexiones existentes y haga clic en Aceptar (opcional, si existen conexiones activas). Screenshot of the Detach Database dialog box with the Drop Existing Connections option selected and the OK option highlighted.

Uso de la ventana del símbolo del sistema

Importante

En estos pasos se muestra cómo separar la base de datos WSUS (SUSDB) de la Windows Internal Database mediante la utilidad sqlcmd. Para obtener más información sobre la utilidad sqlcmd, vea sqlcmd Utility.

  1. Abra un símbolo del sistema con privilegios elevados.
  2. Ejecute el siguiente SQL comando para separar la base de datos WSUS (SUSDB) de la instancia de Windows Internal Database mediante la utilidad 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

Copie los archivos SUSDB en el SQL Server

  1. Copie SUSDB.mdfy SUSDB_log.ldf de la carpeta de datos wid (%SystemDrive%Windows\WID\Data) en la carpeta de datos de SQL instancia.

Sugerencia

Por ejemplo, si la carpeta SQL instancia es C:\Archivos de programa\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQLy la carpeta Datos de WID es C:\Windows\WID\Data, copie los archivos SUSDB de C:\Windows\WID\Data en C:\Archivos de programa\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL\Data

Asociación de SUSDB a la instancia SQL principal

  1. En SQL Server Management Studio, en el nodo Instancia , haga clic con el botón derecho en Bases dedatos y, a continuación, haga clic en Adjuntar. Screenshot of SQL Server Management Studio showing the Databases > Attach option selected.
  2. En el cuadro Adjuntar bases de datos , en Bases de datos para adjuntar ,haga clic en el botón Agregar y busque el archivo SUSDB.mdf (copiado de la carpeta WID) y, a continuación, haga clic en Aceptar. 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.

Sugerencia

Esto también se puede hacer mediante Transact-Sql. Consulte la documentación SQL para adjuntar una base de datos para obtener sus instrucciones.

Ejemplo (mediante rutas de acceso del ejemplo anterior):

   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

Comprobar los SQL Server y los permisos y los inicios de sesión de base de datos

SQL Server permisos de inicio de sesión

Después de adjuntar SUSDB, compruebe que NT AUTHORITY\NETWORK SERVICE tiene permisos de inicio de sesión en la instancia de SQL Server haciendo lo siguiente:

  1. Vaya a SQL Server Management Studio
  2. Apertura de la instancia
  3. Haga clic en Seguridad.
  4. Haga clic en Inicios de sesión

Debe aparecer la cuenta NT AUTHORITY\NETWORK SERVICE. Si no es así, debe agregarlo agregando Nuevo nombre de inicio de sesión.

Importante

Si la instancia SQL está en un equipo diferente de WSUS, la cuenta de equipo del servidor WSUS debe aparecer con el formato [FQDN]\[WSUSComputerName]$. Si no es así, se pueden usar los pasos siguientes para agregarlo, reemplazando NT AUTHORITY\NETWORK SERVICE por la cuenta de equipo del servidor WSUS ([FQDN]\[WSUSComputerName]$) Esto sería además de conceder derechos a NT AUTHORITY\NETWORK SERVICE

Adición de NT AUTHORITY\NETWORK SERVICE y concesión de derechos
  1. Haga clic con el botón derecho en Inicios de sesión y haga clic en Nuevo inicio de sesión...Screenshot of SQL Server Management Studio showing the Logins > New Login option selected.
  2. En la página General, rellene el nombre de inicio de sesión ( NTAUTHORITY\NETWORK SERVICE) y establezca la base de datos predeterminada en SUSDB. Screenshot of the General page of the Login dialog box showing the Login name and Defualt database fields populated.
  3. En la página Roles de servidor , asegúrese de que publicy sysadmin están seleccionados. Screenshot of the Server Roles page of the Login dialog box showing the public and sysadmin options selected.
  4. En la página Asignación de usuarios:
    • En Usuarios asignados a este inicio de sesión:seleccione SUSDB.
    • En Pertenencia a roles de base de datos para: SUSDB, asegúrese de que se comprueba lo siguiente:
      • public
      • WebserviceScreenshot of the User Mapping page of the Login dialog box showing the public and webService options selected.
  5. Haga clic en Aceptar

Ahora debería ver NT AUTHORITY\NETWORK SERVICE en Inicios de sesión. Screenshot of the Object Explorer showing N T AUTHORITY NETWORK SERVICE under Logins.

Permisos para la base de datos

  1. Haga clic con el botón derecho en SUSDB.
  2. Seleccione Propiedades.
  3. Haga clic en Permisos.

Debe aparecer la cuenta NT AUTHORITY\NETWORK SERVICE.

  1. Si no es así, agregue la cuenta.

  2. En el cuadro de texto Nombre de inicio de sesión, escriba la máquina WSUS con el formato siguiente:

    [FQDN]\[WSUSComputerName]$

  3. Compruebe que la base de datos predeterminada está establecida en SUSDB.

    Sugerencia

    En el ejemplo siguiente, el FQDN es Contosto.com y el nombre del equipo WSUS es 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. En la página Asignación de usuarios, seleccione la base de datos SUSDB en Usuarios asignados a este inicio de sesión.

  5. Compruebe el servicio web en Pertenencia al rol de base de datos para: SUSDB: Screenshot of the User Mapping page of the Login dialog box showing the SUSDB and webService options selected.

  6. Haga clic en Aceptar para guardar la configuración.

    Nota:

    Es posible que tenga que reiniciar SQL service para que los cambios sumen efecto.

Edición del Registro para que WSUS apunte a la instancia SQL Server principal

Importante

Sigue meticulosamente los pasos que se describen en esta sección. Pueden producirse problemas graves si modifica el Registro de manera incorrecta. Antes de modificarlo, haz una copia de seguridad del registro para restaurarlo, por si se produjeran problemas.

  1. Haga clic en Inicio, en Ejecutar, escriba regedit& y, después, haga clic en Aceptar.

  2. Busque la siguiente clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. En el cuadro de texto Valor, escriba [ServerName]\[InstanceName]y, a continuación, haga clic en Aceptar. Si el nombre de instancia es la instancia predeterminada, escriba [ServerName].

  4. Busque la siguiente clave: 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. Cambie el nombre de la clave a UpdateServices-Database.Screenshot of the Registry Editor dialog box showing the key name update to UpdateServices-Database.

    Nota

    Si no actualiza esta clave, WsusUtil intentará dar servicio al WID en lugar de a la instancia de SQL a la que ha migrado.

Iniciar los servicios IIS y WSUS en el servidor WSUS

Desde PowerShell (con privilegios elevados), ejecute:

    Start-Service IISADMIN
    Start-Service WsusService

Nota

Si usa la consola wsus, cierre y reiníciela.

Advertencia

Al quitar el rol WID también se quita una carpeta de base de datos (%SystemDrive%\Archivos de programa\Update Services\Database)que contiene los scripts requeridos por WSUSUtil.exe para las tareas posteriores a la instalación. Si decide desinstalar el rol WID, asegúrese de realizar una copia de seguridad de la carpeta %SystemDrive%\Archivos de programa\Update Services\Database de antemano.

Uso de PowerShell:

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

Después de quitar el rol WID, compruebe que está presente la siguiente clave del Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database