Como migrar o banco de dados do WSUS do WID para o SQL

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016

Use as etapas a seguir para migrar o SUSDB (banco de dados do WSUS) de uma instância do Banco de Dados Interno do Windows para uma instância local ou remota do SQL Server.

Pré-requisitos

  • Instância do SQL. Esse pode ser o MSSQLServer padrão ou uma instância personalizada.
  • O SQL Server Management Studio
  • WSUS com a função do WID instalada
  • IIS (normalmente, isso é incluído quando você instala o WSUS por meio do Gerenciador do Servidor). Ele ainda não está instalado, mas precisará ser instalado.

Como migrar o banco de dados do WSUS

Parar os serviços do IIS e do WSUS no servidor do WSUS

No PowerShell (com privilégios elevados), execute:

    Stop-Service IISADMIN
    Stop-Service WsusService

Desanexar o SUSDB do Banco de Dados Interno do Windows

Como usar o SQL Management Studio

  1. Clique com o botão direito do mouse em SUSDB ->Tarefas -> clique em Desanexar: Screenshot of SQL Server Management Studio showing the SUSDB > Tasks > Detach option selected.
  2. Marque Remover Conexões Existentes e clique em OK (opcional, se houver conexões ativas). Screenshot of the Detach Database dialog box with the Drop Existing Connections option selected and the OK option highlighted.

Usando o Prompt de Comando

Importante

Estas etapas mostram como desanexar o SUSDB (banco de dados do WSUS) da instância do Banco de Dados Interno do Windows usando o utilitário sqlcmd. Para obter mais informações sobre o utilitário sqlcmd, confira Utilitário sqlcmd.

  1. Abra um prompt de comando com privilégios elevados
  2. Execute o seguinte comando SQL para desanexar o SUSDB (banco de dados do WSUS) da instância do Banco de Dados Interno do Windows usando o utilitário 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 os arquivos do SUSDB para o SQL Server

  1. Copie SUSDB.mdf e SUSDB_log.ldf da Pasta de Dados do WID (%SystemDrive%\Windows\WID\Data) para a Pasta de Dados da Instância do SQL.

Dica

Por exemplo, se a pasta da instância do SQL for C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL e a pasta Dados do WID for C:\Windows\WID\Data, copie os arquivos SUSDB de C:\Windows\WID\Data para C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data

Anexar o SUSDB à Instância do SQL

  1. Em SQL Server Management Studio, no nó Instância, clique com o botão direito do mouse em Bancos de Dados e clique em Anexar. Screenshot of SQL Server Management Studio showing the Databases > Attach option selected.
  2. Na caixa Anexar Bancos de Dados, em Bancos de Dados a serem anexados, clique no botão Adicionar e localize o arquivo SUSDB.mdf (copiado da pasta do WID) e clique em OK. 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.

Dica

Isso também pode ser feito com o Transact-SQL. Confira a documentação do SQL para anexação de um banco de dados a fim de obter instruções.

Exemplo (usando os caminhos do exemplo 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

Verificar os logons e as permissões do banco de dados e do SQL Server

Permissão de logon do SQL Server

Depois de anexar o SUSDB, verifique se NT AUTHORITY\NETWORK SERVICE tem permissões de logon na instância do SQL Server fazendo o seguinte:

  1. Acesse o SQL Server Management Studio
  2. Como abrir a instância
  3. Clique em Segurança
  4. Clique em Logons

A conta NT AUTHORITY\NETWORK SERVICE deve estar listada. Caso contrário, você precisará adicioná-lo adicionando Novo Nome de Logon.

Importante

Se a instância SQL estiver em um computador diferente do WSUS, a conta de computador do servidor do WSUS deverá ser listada no formato [FQDN]\[WSUSComputerName]$. Caso contrário, as etapas abaixo podem ser usadas para adicioná-lo, substituindo NT AUTHORITY\NETWORK SERVICE pela conta de computador do Servidor do WSUS ([FQDN]\[WSUSComputerName]$). Além disso, conceda direitos a NT AUTHORITY\NETWORK SERVICE

Como adicionar NT AUTHORITY\NETWORK SERVICE e conceder direitos a ele
  1. Clique com o botão direito do mouse em Logons e selecione Novo Logon…Screenshot of SQL Server Management Studio showing the Logins > New Login option selected.
  2. Na página Geral, preencha Nome de logon (NT AUTHORITY\NETWORK SERVICE) e defina Banco de dados padrão como SUSDB. Screenshot of the General page of the Login dialog box showing the Login name and Defualt database fields populated.
  3. Na página Funções de Servidor, verifique se pública e sysadmin estão selecionados. Screenshot of the Server Roles page of the Login dialog box showing the public and sysadmin options selected.
  4. Na página Mapeamento de Usuário:
    • Em Usuários mapeados para este logon: selecione SUSDB
    • Em Associação de função de banco de dados para: SUSDB, verifique se o seguinte está marcado:
      • público
      • webServiceScreenshot of the User Mapping page of the Login dialog box showing the public and webService options selected.
  5. Clique em OK

Agora você verá NT AUTHORITY\NETWORK SERVICE em Logons. Screenshot of the Object Explorer showing N T AUTHORITY NETWORK SERVICE under Logins.

Permissões de banco de dados

  1. Clique com o botão direito do mouse no SUSDB
  2. Selecione Propriedades
  3. Clique em Permissões

A conta NT AUTHORITY\NETWORK SERVICE deve estar listada.

  1. Caso contrário, adicione a conta.

  2. Na caixa de texto Nome de logon, insira o computador do WSUS no seguinte formato:

    [FQDN]\[WSUSComputerName]$

  3. Verifique se Banco de dados padrão está definido como SUSDB.

    Dica

    No seguinte exemplo, o FQDN é Contoso.com, e o nome do computador do 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. Na página Mapeamento de Usuário, selecione o Banco de Dados SUSDB em Usuários mapeados para este logon

  5. Marque serviço Web na Associação de função de banco de dados para: SUSDB: Screenshot of the User Mapping page of the Login dialog box showing the SUSDB and webService options selected.

  6. Clique em OK para salvar as configurações.

    Observação

    Talvez seja necessário reiniciar o Serviço SQL para que as alterações entrem em vigor.

Editar o Registro para apontar o WSUS para a Instância do SQL Server

Importante

Siga as etapas nesta seção com cuidado. Problemas sérios podem ocorrer se você modificar o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para a restauração em caso de problemas.

  1. Clique em Iniciar, clique em Executar, digite regedit& e clique em OK.

  2. Localize a seguinte chave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UpdateServices\Server\Setup\SqlServerName

  3. Na caixa de texto Valor, digite [ServerName]\[InstanceName] e clique em OK. Se o nome da instância for a instância padrão, digite [ServerName].

  4. Localize a seguinte chave: 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. Renomeie a chave para UpdateServices-DatabaseScreenshot of the Registry Editor dialog box showing the key name update to UpdateServices-Database.

    Observação

    Se você não atualizar essa chave, o WsusUtil tentará atender ao WID em vez da instância SQL para a qual você migrou.

Iniciar os serviços do IIS e do WSUS no servidor do WSUS

No PowerShell (com privilégios elevados), execute:

    Start-Service IISADMIN
    Start-Service WsusService

Observação

Se você estiver usando o Console do WSUS, feche-o e reinicie-o.

Aviso

A remoção da função do WID também remove uma pasta de banco de dados (%SystemDrive%\Program Files\Update Services\Database) que contém scripts necessários para o WSUSUtil.exe para tarefas pós-instalação. Se você optar por desinstalar a função do WID, faça backup da pasta %SystemDrive%\Program Files\Update Services\Database com antecedência.

Usando o PowerShell:

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

Depois que a função do WID for removida, verifique se a seguinte chave do Registro está presente: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services\UpdateServices-Database