Condividi tramite


Migrazione del database WSUS da WID a SQL

Seguire questa procedura per eseguire la migrazione del database WSUS (SUSDB) da un'istanza di Windows Internal Database a un'istanza locale o remota di SQL Server.

Prerequisiti

  • Istanza SQL. Può trattarsi dell'istanza predefinita di MSSQLServer o di un'istanza personalizzata.
  • SQL Server Management Studio
  • WSUS con ruolo WID installato
  • IIS (in genere, è incluso quando si installa WSUS tramite Server Manager). Non è già installato, deve esserlo.

Migrazione del database WSUS

Arrestare i servizi IIS e WSUS nel server WSUS

Da PowerShell (con privilegi elevati), eseguire:

    Stop-Service IISADMIN
    Stop-Service WsusService

Scollegare SUSDB da Windows Internal Database

Uso di SQL Management Studio

  1. Fare clic con il tasto destro del mouse su SUSDB ->Attività -> fare clic su Separa: Screenshot di SQL Server Management Studio che mostra l'opzione Disconnessione attività > SUSDB > selezionata.
  2. Selezionare Drop Existing Connections e fare clic su OK (facoltativo, se esistono connessioni attive). Screenshot della finestra di dialogo Scollega database con l'opzione Rimuovi connessioni esistenti selezionata e l'opzione OK evidenziata.

Usando il Prompt dei Comandi

Importante

Questi passaggi illustrano come scollegare il database WSUS (SUSDB) dall'istanza di Database interno di Windows usando l'utilità sqlcmd. Per maggiori informazioni su come usare l'utilità sqlcmd, consultare la sezione Usare l'utilità sqlcmd.

  1. Aprire un prompt dei comandi con privilegi elevati
  2. Eseguire il comando SQL seguente per scollegare il database WSUS (SUSDB) dall'istanza di Database interno di Windows usando l'utilità 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

Copiare i file SUSDB nel SQL Server

  1. Copiare SUSDB.mdf e SUSDB_log.ldf dalla cartella dati WID (%SystemDrive%\Windows\WID\Data) alla cartella dati dell'istanza SQL.

Suggerimento

Ad esempio, se la cartella dell'istanza SQL è C:\Programmi\Microsoft SQL Server\MSSQL12. MSSQL edizione Standard RVER\MSSQL e la cartella Dati WID è C:\Windows\WID\Data, copiare i file SUSDB da C:\Windows\WID\Data a C:\Programmi\Microsoft SQL Server\MSSQL12. MSSQL edizione Standard RVER\MSSQL\Data

Collegare SUSDB all'istanza di SQL

  1. In SQL Server Management Studio, nel nodo Istanza, fare clic con il tasto destro del mouse su Database, quindi fare clic su Collega. Screenshot di SQL Server Management Studio che mostra l'opzione Database > Attach selezionata.
  2. Nella casella Collega database, in Databases da collegare, fare clic sul pulsante Aggiungi e individuare il file SUSDB.mdf (copiato dalla cartella WID), quindi fare clic su OK. Screenshot della finestra di dialogo Collega database con l'opzione Aggiungi evidenziata. Screenshot della finestra di dialogo Individua file di database con il file S U S D B M D F evidenziato.

Suggerimento

Questa operazione può essere eseguita anche tramite Transact-Sql. Per istruzioni, consultare la Documentazione di SQL relativa al collegamento di un database.

Esempio (uso dei percorsi dell'esempio precedente):

   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

Verificare gli account di accesso e le autorizzazioni di SQL Server e del database

Autorizzazioni di accesso di SQL Server

Dopo aver collegato SUSDB, verificare che NT AUTHORITY\NETWORK SERVICE disponga delle autorizzazioni di accesso per l'istanza di SQL Server eseguendo le operazioni seguenti:

  1. Passare a SQL Server Management Studio
  2. Apertura dell'istanza
  3. Fare clic su Sicurezza.
  4. Fare clic su Accessi.

L'account NT AUTHORITY\NETWORK SERVICE deve essere in elenco. Se non lo è, è necessario aggiungerlo aggiungendo nuovo nome di accesso.

Importante

Se l'istanza di SQL si trova in un computer diverso da WSUS, l'account computer del server WSUS deve comparire in elenco nel formato [FQDN]\[WSUSComputerName]$. In caso contrario, per aggiungerlo, possono essere seguiti i passaggi che seguono, sostituendo NT AUTHORITY\NETWORK SERVICE con l'account computer del server WSUS ([FQDN]\[WSUSComputerName]$) Questo è oltre a concedere diritti a NT AUTHORITY\NETWORK SERVICE

Aggiunta di NT AUTHORITY\NETWORK SERVICE e concessione dei diritti
  1. Fare clic con il pulsante destro del mouse su Account e cliccare su Nuovo nome di accesso…Screenshot di SQL Server Management Studio che mostra l'opzione > Nuovo nome di accesso selezionato.
  2. Nella pagina Generale, immettere il Nome accesso (NT AUTHORITY\NETWORK SERVICE) e impostare ilDatabase predefinito su SUSDB. Screenshot della pagina Generale della finestra di dialogo Account di accesso che mostra i campi Nome di accesso e Database predefinito popolati.
  3. Nella pagina Ruoli server, assicurarsi che public e sysadmin siano selezionati. Screenshot della pagina Ruoli server della casella di dialogo di accesso che mostra le opzioni public e sysadmin selezionate.
  4. Nella pagina Mapping utente:
    • In Utenti mappati a questo account di accesso, selezionare SUSDB
    • In Appartenenza al ruolo del database per: SUSDB, verificare che siano controllati gli elementi seguenti:
      • pubblico
      • webServiceScreenshot della pagina Mapping utenti della finestra di dialogo Accesso che mostra le opzioni public e webService selezionate.
  5. Fare clic su OK.

Dovresti ora vedere NT AUTHORITY\NETWORK SERVICE sotto Accessi. Screenshot dell'Object Explorer che mostra N T AUTHORITY NETWORK SERVICE negli Accessi.

Autorizzazioni per il database

  1. Fare clic con il pulsante destro del mouse su SUSDB
  2. Selezionare Proprietà
  3. Fare clic su Autorizzazioni

L'account NT AUTHORITY\NETWORK SERVICE deve essere in elenco.

  1. Se non lo è, aggiungi l'account.

  2. Nella casella di testo Nome accesso, immettere il computer WSUS nel formato seguente:

    [FQDN]\[WSUSComputerName]$

  3. Verificare che il Database predefinito sia impostato su SUSDB.

    Suggerimento

    Nell'esempio seguente, FQDN è Contosto.com e il nome del computer WSUS è WsusMachine:

    Screenshot della finestra di dialogo di Login che mostra che il nome FQDN è Contosto.com** e il nome del computer WSUS è WSUS Machine.

  4. Nella pagina Mapping utente, selezionare il Database SUSDB sotto Utenti associati a questo login

  5. Spuntare webservice nell'Appartenenza ruolo del database per: SUSDB: Screenshot della pagina di Mapping utenti della finestra di dialogo del login che mostra le opzioni SUSDB e webService selezionate.

  6. Fare clic su OK per salvare le impostazioni.

    Nota

    Potrebbe essere necessario riavviare il servizio SQL per applicare le modifiche.

Modificare il registro in modo che punti WSUS all'istanza di SQL Server

Importante

Seguire attentamente i passaggi in questa sezione. Se le modifiche al Registro di sistema vengono apportate in modo non corretto, possono verificarsi problemi gravi. Prima di apportare le modifiche, eseguire il backup del Registro di sistema per il ripristino nel caso si verifichino dei problemi.

  1. Fare clic su Avvio, fare clic su Esegui, digitare regedit, quindi fare clic su OK.

  2. Individuare la chiave seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. Nella casella di testo Valore, digitare [ServerName]\[InstanceName] e fare clic su OK. Se il nome dell'istanza è l'istanza predefinita, digitare [NomeServer].

  4. Individuare la chiave seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-WidDatabaseScreenshot della finestra di dialogo Editor del Registro di sistema con la chiave UpdateServices-WidDatabase evidenziata.

  5. Rinominare la chiave in UpdateServices-DatabaseScreenshot della finestra di dialogo Editor del Registro di sistema che mostra l'aggiornamento del nome della chiave a UpdateServices-Database.

    Nota

    Se non si aggiorna questa chiave, WsusUtil tenterà di eseguire il servizio WID anziché l'istanza SQL di cui è stata eseguita la migrazione.

Avviare i servizi IIS e WSUS nel server WSUS

Da PowerShell (con privilegi elevati), eseguire:

    Start-Service IISADMIN
    Start-Service WsusService

Nota

Se si usa la console WSUS, chiuderla e riavviarla.

Avviso

La rimozione del ruolo WID rimuove anche una cartella di database (%SystemDrive%\Programmi\Update Services\Database) che contiene script richiesti da WSUSUtil.exe per le attività successive all'installazione. Se si sceglie di disinstallare il ruolo WID, assicurarsi di eseguire il backup della cartella %SystemDrive%\Programmi\Update Services\Database in anticipo.

Tramite PowerShell:

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

Dopo aver rimosso il ruolo WID, verificare che sia presente la chiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database