Compartilhar via


A atualização do SQL Server do SQL Server 2014 ou SQL Server 2016 para 2017 falha e retorna o erro 1712

Este artigo ajuda você a solucionar problemas e resolver o problema em que a atualização de um SQL Server 2016 ou SQL Server 2014 para SQL Server 2017 relata 1712 durante a execução de scripts de atualização de banco de dados.

Sintomas

A atualização para uma instância do SQL Server 2017 pode falhar durante a execução do script de ISServer_upgrade.sql atualização com o seguinte 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.

Ao verificar o log de erros do SQL Server, você observa uma das seguintes entradas de erro:

2020-10-26 10:08:09.94 spid6s      Database 'master' is upgrading script 'ISServer_upgrade.sql' from level 0 to level 500. 
2020-10-26 10:08:09.94 spid6s      --------------------------------------------- 
2020-10-26 10:08:09.94 spid6s      Starting execution of ISServer_upgrade.SQL 
2020-10-26 10:08:09.94 spid6s      --------------------------------------------- 
2020-10-26 10:08:09.94 spid6s        
2020-10-26 10:08:09.94 spid6s      Taking SSISDB to single user mode 
2020-10-26 10:08:09.94 spid6s      Setting database option SINGLE_USER to ON for database 'SSISDB'. 
2020-10-26 10:08:10.47 spid6s      Error: 1712, Severity: 16, State: 1. 
2020-10-26 10:08:10.47 spid6s      Online index operations can only be performed in Enterprise edition of SQL Server. 
2020-10-26 10:08:10.47 spid6s      Error: 917, Severity: 15, State: 1. 
2020-10-26 10:08:10.47 spid6s      An upgrade script batch failed to execute for database 'master' due to compilation error. Check the previous error message for the line which caused compilation to fail. 
2020-10-26 10:08:10.47 spid6s      Error: 912, Severity: 21, State: 2. 
2020-10-26 10:08:10.47 spid6s      Script level upgrade for database 'master' failed because upgrade step 'ISServer_upgrade.sql' encountered error 917, state 1, severity 15. 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. 
2020-10-26 10:08:10.48 spid6s      Error: 3417, Severity: 21, State: 3. 
2020-10-26 10:08:10.48 spid6s      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. 
2020-10-26 10:08:10.48 spid6s      SQL Server shutdown has been initiated 
2020-10-26 10:08:10.48 spid6s      SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required. 
2020-10-26 10:08:10.50 spid15s     The SQL Server Network Interface library successfully deregistered the Service Principal Name (SPN) [ MSSQLSvc/SAFHSQL01.SAFEHAVEN.com ] for the SQL Server service. 
2020-10-26 10:08:10.50 spid15s     The SQL Server Network Interface library successfully deregistered the Service Principal Name (SPN) [ MSSQLSvc/SAFHSQL01.SAFEHAVEN.com:1433 ] for the SQL Server service.

Causa

O script de atualização RTM (versão para fabricação) do SQL Server 2017 inclui uma DLL (biblioteca de vínculo dinâmico) que executa operações de índice online para todas as edições do SQL Server, embora apenas as edições Enterprise e Developer ofereçam suporte a esse recurso. Para obter mais informações sobre scripts de atualização de banco de dados, consulte Solucionar problemas de falhas de script de atualização ao aplicar uma atualização.

Solução

Para resolver o erro 1712, siga estas etapas:

  1. Inicie o SQL Server junto com o sinalizador de rastreamento (TF) 902. Para obter mais informações, consulte Etapas para iniciar o SQL com o sinalizador de rastreamento 902.

    Observação

    Como esse erro ocorre após a atualização de binários, o mecanismo de banco de dados do SQL Server já estará no nível do SQL Server 2017 RTM e você ainda poderá iniciar a instância com o TF 902.

  2. Instale um build do SQL Server que seja o SQL Server 2017 CU5 ou superior.

  3. Remova o TF 902 dos parâmetros de inicialização e reinicie o SQL Server.

  4. Depois que o SQL Server for iniciado sem o TF 902, o script de atualização será executado novamente.

    • Se o script de atualização for concluído com êxito, a atualização do Service Pack (SP) ou da Atualização Cumulativa () será concluída. Você pode verificar o log de erros do SQL Server e a pasta de inicialização para verificar a instalação concluída.

    • Se o script de atualização falhar novamente, verifique o log de erros do SQL Server para obter entradas de erro adicionais e, em seguida, solucione os novos erros.