Compartilhar via


A atualização do SQL Server falhará se as entidades de segurança baseadas em certificado possuírem objetos de usuário

Este artigo ajuda você a solucionar um problema no qual uma atualização cumulativa () ou service pack (SP) para SQL Server relata o erro 574 quando você executa scripts de atualização de banco de dados.

Sintomas

Quando você aplica uma ou SP para SQL Server, 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, as seguintes entradas de erro podem ser registradas no log de erros do SQL Server junto com os erros 912 e 3417:

  • 15136 The database principal is set as the execution context of one or more procedures, functions, or event notifications and cannot be dropped.
  • 15138 The database principal owns a %S_MSG in the database, and cannot be dropped.
  • 15141 The server principal owns one or more %S_MSG(s) and cannot be dropped.
  • 15154 The database principal owns an %S_MSG and cannot be dropped.
  • 15155 The server principal owns a %S_MSG and cannot be dropped.
  • 15183 The database principal owns objects in the database and cannot be dropped.
  • 15184 The database principal owns data types in the database and cannot be dropped.
  • 15186 The server principal is set as the execution context of a trigger or event notification and cannot be dropped.
  • 15284 The database principal has granted or denied permissions to objects in the database and cannot be dropped.
  • 15421 The database principal owns a database role and cannot be dropped.
  • 27226 The database principal has granted or denied permissions to catalog objects in the database and cannot be dropped.
  • 33015 The database principal is referenced by a %S_MSG in the database, and cannot be dropped.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'SSIS_hotfix_install.sql' encountered error 945, state 2, severity 25. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.
SQL Server shutdown has been initiated

Causa

As entidades de servidor que estão entre hash duplas (##) são criadas a partir de certificados quando o SQL Server é instalado. Essas entidades devem ser tratadas como entidades criadas pelo sistema. Eles não devem ser mapeados para entidades de banco de dados que possuem objetos de usuário em msdb ou outros bancos de dados. Qualquer alteração nessa configuração padrão pode causar falhas ao tentar atualizar o SQL Server. Isso ocorre porque os scripts de atualização pressupõem que esses objetos tenham apenas dependências criadas pelo SQL Server.

Solução

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

  2. Para determinar o mapeamento de entidades de servidor para entidades de banco de dados, execute o seguinte comando:

    EXEC master.sys.sp_helplogins 
    
  3. Altere a propriedade dos objetos afetados para um usuário diferente.

  4. Reinicie o SQL Server sem sinalizador 902 de rastreamento para que o script de atualização possa terminar de ser executado.

Observação

Embora uma falha ao executar scripts de atualização seja uma das causas comuns do erro "Falha na espera do identificador de recuperação do Mecanismo de Banco de Dados", esse problema também pode ocorrer por outros motivos. O erro significa que o instalador da atualização não pôde iniciar o serviço ou colocá-lo online após a instalação da atualização. Em ambos os casos, a solução de problemas envolve uma revisão dos logs de erros e dos logs de instalação para determinar a causa da falha e tomar as medidas apropriadas.

Confira também

Solucionar problemas de falhas de script de atualização ao aplicar uma atualização