Freigeben über


Sql Server-Upgrade von SQL Server 2014 oder SQL Server 2016 auf 2017 schlägt fehl und gibt Fehler 1712 zurück.

Dieser Artikel hilft Ihnen bei der Problembehandlung und Behebung des Problems, bei dem beim Ausführen von Datenbankupgradeskripts ein Upgrade von SQL Server 2016 oder SQL Server 2014 auf SQL Server 2017 ausgeführt wird.

Problembeschreibung

Das Upgrade auf eine SQL Server 2017-Instanz schlägt möglicherweise fehl, während das ISServer_upgrade.sql Upgradeskript mit dem folgenden Fehler ausgeführt wird:

Fehler beim Warten auf das Wiederherstellungshandle der Datenbank-Engine. Mögliche Ursachen finden Sie im SQL Server-Fehlerprotokoll.

Wenn Sie das SQL Server-Fehlerprotokoll überprüfen, stellen Sie einen der folgenden Fehlereinträge fest:

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.

Ursache

Sql Server 2017 release to manufacture (RTM) upgrade script includes a dynamic link library (DLL) that runs online index operations for all editions of SQL Server although only the Enterprise and Developer editions support this feature. Weitere Informationen zu Datenbankupgradeskripts finden Sie unter Problembehandlung bei Upgradeskriptfehlern beim Anwenden eines Updates.

Lösung

Führen Sie die folgenden Schritte aus, um den Fehler 1712 zu beheben:

  1. Starten Sie SQL Server zusammen mit ablaufverfolgungskennzeichnung (TF) 902. Weitere Informationen finden Sie in den Schritten zum Starten von SQL mit ablaufverfolgungskennzeichnung 902.

    Notiz

    Da dieser Fehler nach dem Upgrade von Binärdateien auftritt, befindet sich das SQL Server-Datenbankmodul bereits auf SQL Server 2017 RTM-Ebene, und Sie können die Instanz weiterhin mit TF 902 starten.

  2. Installieren Sie einen Build von SQL Server, der SQL Server 2017 CU5 oder höher ist.

  3. Entfernen Sie TF 902 aus den Startparametern, und starten Sie DANN SQL Server neu.

  4. Nachdem SQL Server ohne TF 902 gestartet wurde, wird das Upgradeskript erneut ausgeführt.

    • Wenn das Upgradeskript erfolgreich abgeschlossen ist, ist das Upgrade von Service Pack (SP) oder kumulativem Update (CU) abgeschlossen. Sie können das SQL Server-Fehlerprotokoll und den Bootstrap-Ordner überprüfen, um die abgeschlossene Installation zu überprüfen.

    • Wenn das Upgradeskript erneut fehlschlägt, überprüfen Sie das SQL Server-Fehlerprotokoll auf zusätzliche Fehlereinträge, und beheben Sie dann die neuen Fehler.