Delen via


Upgrade van SQL Server van SQL Server 2014 of SQL Server 2016 naar 2017 mislukt en retourneert fout 1712

Dit artikel helpt u bij het oplossen en oplossen van het probleem waarbij een upgrade van een SQL Server 2016 of SQL Server 2014 naar SQL Server 2017 1712 rapporteert tijdens het uitvoeren van database-upgradescripts.

Symptomen

Upgraden naar een SQL Server 2017-exemplaar kan mislukken tijdens het uitvoeren van het ISServer_upgrade.sql upgradescript met de volgende fout:

Wachten op herstelinvoer van database-engine is mislukt. Controleer het SQL Server-foutenlogboek voor mogelijke oorzaken.

Wanneer u het foutenlogboek van SQL Server controleert, ziet u een van de volgende foutvermeldingen:

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.

Oorzaak

SQL Server 2017-release voor productie (RTM) bevat een DLL (Dynamic Link Library) die online indexbewerkingen uitvoert voor alle edities van SQL Server, hoewel alleen de Enterprise- en Developer-edities deze functie ondersteunen. Zie Problemen met upgradescripts bij het toepassen van een update oplossen voor meer informatie over database-upgradescriptscripts.

Oplossing

Voer de volgende stappen uit om de fout 1712 op te lossen:

  1. Start SQL Server samen met traceringsvlag (TF) 902. Zie Stappen voor het starten van SQL met traceringsvlag 902 voor meer informatie.

    Notitie

    Omdat deze fout optreedt na het upgraden van binaire bestanden, bevindt de SQL Server-database-engine zich al op SQL Server 2017 RTM-niveau en kunt u het exemplaar nog steeds starten met TF 902.

  2. Installeer een build van SQL Server die SQL Server 2017 CU5 of hoger is.

  3. Verwijder TF 902 uit de opstartparameters en start SQL Server opnieuw.

  4. Nadat SQL Server zonder TF 902 is gestart, wordt het upgradescript opnieuw uitgevoerd.

    • Als het upgradescript is voltooid, is de upgrade servicepack (SP) of cumulatieve update (CU) voltooid. U kunt het SQL Server-foutenlogboek en de bootstrap-map controleren om de voltooide installatie te controleren.

    • Als het upgradescript opnieuw mislukt, controleert u het SQL Server-foutenlogboek op aanvullende foutvermeldingen en lost u de nieuwe fouten op.