Compartilhar via


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

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: Captura de tela do SQL Server Management Studio que mostra a opção SUSDB > Tarefas > Desanexar selecionada.
  2. Marque Remover Conexões Existentes e clique em OK (opcional, se houver conexões ativas). Captura de tela da caixa de diálogo Desanexar Banco de Dados com a opção Remover Conexões Existentes selecionada e a opção OK realçada.

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. Captura de tela do SQL Server Management Studio que mostra a opção Bancos de Dados > Anexar selecionada.
  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. Captura de tela da caixa de diálogo Anexar Bancos de Dados com a opção Adicionar realçada. Captura de tela da caixa de diálogo Localizar Arquivos de Banco de Dados com o arquivo SSDBMDF realçado.

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…Captura de tela do SQL Server Management Studio que mostra a opção Logons > Novo Logon selecionada.
  2. Na página Geral, preencha Nome de logon (NT AUTHORITY\NETWORK SERVICE) e defina Banco de dados padrão como SUSDB. Captura de tela da página Geral da caixa de diálogo Logon que mostra os campos Nome de logon e Banco de dados padrão preenchidos.
  3. Na página Funções de Servidor, verifique se pública e sysadmin estão selecionados. Captura de tela da página Funções de Servidor da caixa de diálogo Logon que mostra as opções pública e sysadmin selecionadas.
  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
      • webServiceCaptura de tela da página Mapeamento de Usuário da caixa de diálogo Logon mostrando as opções pública e webService selecionadas.
  5. Clique em OK

Agora você verá NT AUTHORITY\NETWORK SERVICE em Logons. Captura de tela do Pesquisador de Objetos que mostra o NT AUTHORITY NETWORK SERVICE em Logons.

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:

    Captura de tela da caixa de diálogo Logon que mostra que o FQDN é Contoso.com** e o nome do computador do WSUS é Wsus 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: Captura de tela da página Mapeamento de Usuário da caixa de diálogo Logon que mostra as opções SUSDB e webService selecionadas.

  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-WidDatabaseCaptura de tela da caixa de diálogo Editor do Registro com a chave UpdateServices-WidDatabase realçada.

  5. Renomeie a chave para UpdateServices-DatabaseCaptura de tela da caixa de diálogo Editor do Registro que mostra a atualização do nome da chave para 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