Se produce un error en la actualización de SQL Server 2014 o SQL Server 2016 a 2017 y devuelve el error 1712
Este artículo le ayuda a solucionar el problema por el que la actualización de SQL Server 2016 o SQL Server 2014 a SQL Server 2017 informa 1712 al ejecutar scripts de actualización de base de datos.
Síntomas
Es posible que se produzca un error al actualizar a una instancia de SQL Server 2017 al ejecutar el ISServer_upgrade.sql
script de actualización con el siguiente error:
Error en la espera del controlador de recuperación del Motor de base de datos. Compruebe el registro de errores de SQL Server para buscar posibles causas.
Al comprobar el registro de errores de SQL Server, observará una de las siguientes entradas de error:
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
La versión de SQL Server 2017 para fabricar el script de actualización (RTM) incluye una biblioteca de vínculos dinámicos (DLL) que ejecuta operaciones de índice en línea para todas las ediciones de SQL Server, aunque solo las ediciones Enterprise y Developer admiten esta característica. Para obtener más información sobre los scripts de actualización de base de datos, consulte Solución de errores de script de actualización al aplicar una actualización.
Solución
Para resolver el error 1712, siga estos pasos:
Inicie SQL Server junto con la marca de seguimiento (TF) 902. Para obtener más información, consulte Pasos para iniciar SQL con la marca de seguimiento 902.
Nota:
Como este error se produce después de actualizar archivos binarios, el motor de base de datos de SQL Server ya estará en el nivel de SQL Server 2017 RTM y todavía puede iniciar la instancia con TF 902.
Instale una compilación de SQL Server que sea SQL Server 2017 CU5 o posterior.
Quite TF 902 de los parámetros de inicio y, a continuación, reinicie SQL Server.
Después de que SQL Server se inicie sin TF 902, el script de actualización se ejecutará de nuevo.
Si el script de actualización finaliza correctamente, se completa la actualización de Service Pack (SP) o actualización acumulativa (CU). Puede comprobar el registro de errores de SQL Server y la carpeta bootstrap para comprobar la instalación completada.
Si se produce un error de nuevo en el script de actualización, compruebe el registro de errores de SQL Server para ver las entradas de error adicionales y, a continuación, solucione los nuevos errores.