MSSQLSERVER_912

Gäller för: SQL Server 2019 (15.x) och senare versioner i Windows

Detaljer

Attribute Värde
Produktnamn SQL Server
Händelse-ID 912
Händelsekälla MSSQLSERVER
Komponent SQLEngine
Symboliskt namn DB_RUNSCRIPTUPGRADE_STEP_FAILED
Meddelandetext Skriptnivåuppgradering för databasen%.*ls misslyckades eftersom uppgraderingssteget%.*ls påträffade fel %d, tillstånd %d, allvarlighetsgrad %d. Det här är ett allvarligt feltillstånd som kan störa den regelbundna åtgärden och databasen tas offline. Om felet inträffade under uppgraderingen av huvuddatabasen hindrar det hela SQL Server-instansen från att starta. Granska de tidigare felloggposterna för fel, vidta lämpliga korrigerande åtgärder och starta om databasen så att skriptuppgraderingsstegen körs till slutförande.

Explanation

Fel 912 indikerar att databasskriptet misslyckades med att köras och att databasen/databaserna inte uppgraderades till den senaste nivån som servern kräver. Det är ett allmänt felmeddelande som innehåller en referens till uppgraderingsskriptet som misslyckades och vilket fel det misslyckade skriptet stötte på.

När SQL Server uppgraderas eller en kumulativ uppdatering tillämpas, uppgraderas initialt endast binärfilerna. Databasen och dess objekt förblir oförändrade. När binärfilerna ersätts med nya versioner och tjänsten startas om för första gången, påbörjas en databasuppgradering. Uppgraderingsskripten som ska köras finns under C:\Program Files\Microsoft SQL Server\MSSQLXX. YYYY\MSSQL\Install.

Om uppgraderingsprocessen stöter på skriptnivåuppgraderingsfel (Fel 912) kan andra fel uppstå. Till exempel kan dessa fel följa fel 912 och hjälpa till att ytterligare förklara felet:

Error: 1101, Severity: 17, State: 1.
Could not allocate a new page for database 'tempdb' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'xxx.sql' encountered error <Error Number>, state <Error State>, severity <Error Severity>. 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.

Error: 3417, Severity: 21, State: 3.
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.

Vanligtvis, när installationsprocessen misslyckas, kan användaren se följande fel i GUI:t, förutsatt att installationen görs manuellt med hjälp av guiden. Tänk på att detta fel kan uppstå vid en mängd olika installationsfrågor. Men i alla fall hänvisar den dig till att kolla SQL Server-felloggen för mer information.

Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

uppgraderingsfel i GUI:t

Användaråtgärd

För att hitta orsaken till problemet, följ dessa steg:

  1. Hitta och öppna SQL Server Errorlog.
  2. Granska loggen för fel som inträffade omedelbart före fel 912 och fokusera på felsökning av felet som refereras i meddelandet från fel 912.
  3. För några vanliga scenarier som Microsoft-kunder har rapporterat, se "Vänta på databasmotorns återställningshandtag misslyckades" samt felmeddelandena "912" och "3417"
  4. I vissa fall kan du som en del av processen behöva starta SQL Server-tjänsten med trace-flagga 902 (se stegen nedan). Att starta tjänsten med T902 gör att tjänsten kan hoppa över exekveringen av uppgraderingsskripten vid uppstart. På så sätt får du en chans att undersöka och åtgärda det underliggande problemet.
  5. Se till att ta bort trace-flaggan när du har löst problemet så att installationsprocessen kan starta om uppgraderingsskriptets exekveringsfas.

Steg för att starta SQL Server med spårflagga 902

Att använda Configuration Manager

  1. Starta SQL Server Configuration Manager.
  2. Välj SQL Server-instansen i SQL Server Services.
  3. Högerklicka på instansen och välj sedan Egenskaper.
  4. Välj fliken Startparametrar.
  5. Använd fältet Specificera en uppstartsparameter för att lägga till spårflaggan. Skriv "-T902" (utan citationstecken) och klicka på Lägg till.
  6. Välj OK och stäng instansens egenskaper.
  7. Starta SQL Server-tjänsten.

För mer information om hur man konfigurerar startalternativ, se SQL Configuration Manager Services - Configure Server Startup Options

Anmärkning

Se till att ta bort -T902 från konfigurationen när du har löst problemet.

Kommandoprompt med sqlservr.exe

  1. Öppna en kommandoprompt med administrativa rättigheter och byt katalog till SQL Server Binn-katalogen, till exempel C:\Program Files\Microsoft SQL Server\MSSQLXX. YYYY\MSSQL\Binn.

  2. Utför sqlservr.exe -s <instance> -T902

    Standardinstans:

    cd \Program Files\Microsoft SQL Server\MSSQL<version>\MSSQL\Binn
    sqlservr.exe -s MSSQLSERVER  -T902
    

    Namngiven instans, där "sql2016" är ett exempel på ett instansnamn:

    cd \Program Files\Microsoft SQL Server\MSSQL<version>.<instance name>\MSSQL\Binn
    sqlservr.exe -s sql2016  -T902
    
  3. För att stoppa instansen när du är klar, tryck CTRL+C , sedan Y

Kommandoprompt med hjälp av net start

Standardinstans:

NET START MSSQLSERVER /T902 

Namngiven instans:

NET START MSSQL$INSTANCENAME  /T902