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:
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.
Instale um build do SQL Server que seja o SQL Server 2017 CU5 ou superior.
Remova o TF 902 dos parâmetros de inicialização e reinicie o SQL Server.
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.