Migrando o banco de dados WSUS do WID para 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 de Banco de Dados Interno do Windows para uma instância local ou remota de SQL Server.

Pré-requisitos

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

Migrando o banco de dados do WSUS

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

Do PowerShell (elevado), execute:

    Stop-Service IISADMIN
    Stop-Service WsusService

Desanexar o SUSDB do Banco de Dados Interno do Windows

Usando 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. Verifique Soltar 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

Essas etapas mostram como desanexar o SUSDB (banco de dados WSUS) da instância Banco de Dados Interno do Windows usando o utilitário sqlcmd. Para obter mais informações sobre o utilitário sqlcmd , consulte o 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 WSUS) da instância 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

Copiar os arquivos SUSDB para o SQL Server

  1. Copie SUSDB.mdf e SUSDB_log.ldf da pasta de dados WID (%SystemDrive%\Windows\WID\Data) para a pasta de dados da instância SQL.

Dica

Por exemplo, se a pasta SQL instância for C:\Arquivos de Programas\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL e a pasta dados WID é C:\Windows\WID\Data, copie os arquivos SUSDB de C:\Windows\WID\Data para C:\Arquivos de Programas\Microsoft SQL Server\MSSQL12. MSSQLSERVER\MSSQL\Data

Anexar o SUSDB à Instância 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 para anexar, clique no botão Adicionar e localize o arquivo SUSDB.mdf (copiado da Pasta 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 usando o Transact-Sql. Consulte a documentação SQL para anexar um banco de dados para obter suas instruções.

Exemplo (usando 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 SQL Server e permissões e logons de banco de dados

permissões de logon SQL Server

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

  1. Vá para SQL Server Management Studio
  2. Abrindo a instância
  3. Clique em Segurança
  4. Clique em Logons

A conta NT AUTHORITY\NETWORK SERVICE deve ser listada. Se não estiver, você precisará adicioná-lo adicionando Novo Nome de Logon.

Importante

Se a Instância de SQL estiver em um computador diferente do WSUS, a conta de computador do servidor 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]$) Isso seria além de conceder direitos à NT AUTHORITY\NETWORK SERVICE

Adicionando NT AUTHORITY\NETWORK SERVICE e concedendo-lhe direitos
  1. Clique com o botão direito do mouse em Logons e clique em Novo Logon...Screenshot of SQL Server Management Studio showing the Logins > New Login option selected.
  2. Na página Geral , preencha o nome de logon (NT AUTHORITY\NETWORK SERVICE) e defina o 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 do Servidor , verifique se o público e o 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 os seguintes são verificados:
      • 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ê deve 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 ser listada.

  1. Se não estiver, adicione a conta.

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

    [FQDN]\[WSUSComputerName]$

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

    Dica

    No exemplo a seguir, o FQDN é Contosto.com e o nome do computador 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 mapeado para esse logon

  5. Verifique o 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 de SQL para que as alterações entrem em vigor.

Editar o registro para apontar o WSUS para a Instância 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. Renomear 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 WSUS

Do PowerShell (elevado), execute:

    Start-Service IISADMIN
    Start-Service WsusService

Observação

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

Aviso

Remover a função WID também remove uma pasta de banco de dados (%SystemDrive%\Arquivos de Programas\Serviços de Atualização\Banco de Dados) que contém scripts exigidos por WSUSUtil.exe para tarefas pós-instalação. Se você optar por desinstalar a função WID, faça backup da pasta %SystemDrive%\Arquivos de Programas\Serviços de Atualização\Banco de Dados de antemão.

Usando o PowerShell:

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

Depois que a função 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