Compartilhar via


A atualização do SQL Server falha e retorna o erro 15151

Este artigo ajuda você a solucionar o erro 15151 que ocorre quando você instala uma atualização cumulativa () ou service pack (SP) para o Microsoft SQL Server. O erro ocorre quando os scripts de atualização do banco de dados são executados.

Sintomas

Quando você aplica uma ou SP, o programa de instalação retorna a seguinte mensagem de erro:

Falha na espera pelo identificador de recuperação do Mecanismo de Banco de Dados. Verifique o log de erros do SQL Server para conhecer as causas possíveis.

Além disso, a seguinte entrada de erro pode ser registrada no log de erros do SQL Server:

Error: 15151, Severity: 16, State: 1.
Cannot find the login '##MS_SSISServerCleanupJobLogin##', because it does not exist or you do not have permission.

Causa

Esse problema ocorre porque o logon (entidade de segurança do servidor) foi descartado manualmente ou essas instruções não são seguidas.

Para obter mais informações sobre scripts de atualização de banco de dados executados durante a instalação da ou SP, consulte Solucionar problemas de falhas de script de atualização ao aplicar uma atualização.

Solução

Para resolver o problema, siga estas etapas:

  1. Inicie o SQL Server com o sinalizador de rastreamento 902.

  2. Recrie o login no servidor:

    CREATE LOGIN [##MS_SSISServerCleanupJobLogin##]
    WITH PASSWORD = N'<password>',
    DEFAULT_DATABASE = [master],
    DEFAULT_LANGUAGE = [us_english],
    CHECK_EXPIRATION = OFF,
    CHECK_POLICY = OFF;
    
  3. Alterne para o SSISDB banco de dados e mapeie o usuário existente para o logon recém-criado:

    USE SSISDB
    GO
    ALTER USER [##MS_SSISServerCleanupJobUser##] WITH LOGIN =[##MS_SSISServerCleanupJobLogin##]
    
  4. Em alguns casos, as informações do usuário do banco de dados também podem estar ausentes. Nesse caso, recrie o usuário no SSISDB banco de dados e execute novamente a etapa anterior para mapear o usuário para o logon:

    USE [SSISDB]
    GO
    DROP USER [##MS_SSISServerCleanupJobUser##]
    GO
    
    CREATE USER [##MS_SSISServerCleanupJobUser##] FOR LOGIN [##MS_SSISServerCleanupJobLogin##]
    GO
    
    ALTER USER [##MS_SSISServerCleanupJobUser##] WITH DEFAULT_SCHEMA=[dbo]
    GO
    
    GRANT EXECUTE ON [internal].[cleanup_server_project_version] TO [##MS_SSISServerCleanupJobUser##]
    GO
    GRANT EXECUTE ON [internal].[cleanup_server_retention_window] TO [##MS_SSISServerCleanupJobUser##]
    GO