Migrando o banco de dados do 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 banco de dados do WSUS (SUSDB) 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 de SQL. Isso pode ser o padrão MSSQLSERVER ou uma instância personalizada.
  • SQL Server Management Studio
  • WSUS com 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, será necessário.

Migrando o banco de dados do WSUS

Parar os serviços IIS e WSUS no servidor WSUS

No PowerShell (elevado), execute:

    Stop-Service IISADMIN
    Stop-Service WsusService

desanexar SUSDB da Banco de Dados Interno do Windows

usando SQL Management Studio

  1. Clique com o botão direito do mouse em SUSDB - Tasks - clique em desanexar:Screenshot of SQL Server Management Studio showing the SUSDB > Tasks > Detach option selected.
  2. Marque a caixa de seleção 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 banco de dados do WSUS (SUSDB) 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 , consulte sqlcmd Utility.

  1. Abra um prompt de comando com privilégios elevados
  2. execute o comando SQL a seguir para desanexar o banco de dados do WSUS (SUSDB) 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 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 sua pasta de instância do SQL for C:\Program files \ Microsoft SQL Server \MSSQL12. MSSQLSERVER\MSSQLe a pasta de 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 SUSDB à instância de SQL

  1. no SQL Server Management Studio, no nó instância , clique com o botão direito do mouse em bancos de dadose 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 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 do SQL para anexar um banco de dados para obter 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 os logons e as permissões do SQL Server e do banco de dados

SQL Server permissões de logon

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

  1. Entrar em 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 for, você precisará adicioná-lo adicionando um novo nome de logon.

Importante

se a instância de 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 o serviço NT AUTHORITY\NETWORK pela conta de computador do servidor do WSUS ([FQDN] \ [WSUSComputerName] $). isso seria adicional ao conceder direitos ao NT Authority\Network Service

Adicionando NT AUTHORITY\NETWORK SERVICE e concedendo direitos de ti
  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 de servidor , verifique se público 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ê 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. Permissões de clique

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 do 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 da máquina 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 WebService sob a 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 de 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 de SQL para a qual você migrou.

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

No 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

A remoção da função WID também remove uma pasta de banco de dados (%systemdrive%\Arquivos de Files\Update Services\Database) que contém os scripts exigidos pelo WSUSUtil.exe para tarefas pós-instalação. Se você optar por desinstalar a função WID, certifique-se de fazer backup da pasta %systemdrive%\Arquivos de Files\Update Services\Database com antecedência.

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