Skip to content
Microsoft SQL Server

SQL Server Error 3414

An error occurred during recovery, preventing the database from restarting

Applies to: All supported SQL Server versions (2016 to 2025), Azure SQL Managed Instance
Last technically reviewed 24 October 2026 on SQL Server 2025 (17.0.1145.4)
The full message
An error occurred during recovery, preventing the database 'AppDb' (5:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.
Other forms of this message
Error log form, as documented by Microsoft (older wording with the database ID)
Error: 3414, Severity: 21, State: 1.
An error occurred during recovery, preventing the database 'mydb' (database ID 13) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.
What users see afterwards when they use the database (error 926, as documented by Microsoft)
Msg 926, Level 14, State 1, Line 1
Database 'mydb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information
Error number
3414
Severity
21 (fatal: the connection ends; may indicate a serious problem)
State
1 (from the error log example in Microsoft's reference; not reproduced here)
Product
Microsoft SQL Server Database Engine
Versions
All supported SQL Server versions (2016 to 2025), Azure SQL Managed Instance
Last reviewed
24 October 2026

What it means

Error 3414 is written to the SQL Server error log when recovery of a database fails; the database is marked SUSPECT and stays unusable until the cause is fixed or the database is restored.

Each time a database starts (service startup, attach, SET ONLINE, end of a restore) recovery replays committed work from the log and rolls back unfinished transactions. If that hits an error it cannot work around, SQL Server writes 3414 to the error log and marks the database SUSPECT. Applications never see 3414 itself; they get error 926 when they try to use the database. Microsoft notes that when this happens to tempdb, the instance shuts down.

3414 only reports that recovery gave up. The cause is the error logged just before it by the same session (the same spid value on each line), for example an 824 checksum failure on a log block, or an 823 operating system I/O error. The catalogue in sys.messages lists severity 10, but Microsoft's documented error log entry shows severity 21; the level was not observed here.

Common causes

  • A damaged page or log block read during recovery, typically reported first as error 824 (bad checksum) or 823 (operating system I/O error).
  • A transient storage problem at startup: a volume, SAN path or network share that was briefly unavailable while recovery ran.
  • A transaction log file that was replaced, truncated or copied from a different point in time.
  • Other recovery failures logged just before it, such as errors 3313 or 3314 during redo or undo.

Diagnose it

Read-only These queries only read metadata and dynamic management views. They do not change data, permissions or configuration, so they are safe to run first.

Read the error that came just before 3414

EXEC sp_readerrorlog 0, 1, N'during recovery';
EXEC sp_readerrorlog 0, 1, N'AppDb';
EXEC sp_readerrorlog 1, 1, N'AppDb';   -- the previous log, if the service restarted
What to look for

The 3414 line and, a moment earlier with the same spid, the error that stopped recovery (823, 824, 3313, 3314 and so on). That error decides whether the problem is transient or permanent.

Which databases are SUSPECT?

SELECT name, state_desc, user_access_desc, recovery_model_desc
FROM sys.databases
WHERE state_desc IN ('SUSPECT', 'RECOVERY_PENDING', 'EMERGENCY');
What to look for

A database that hit 3414 shows SUSPECT. RECOVERY_PENDING means its files could not be opened at all (see 945): recovery never started.

Damaged pages recorded by SQL Server

SELECT DB_NAME(database_id) AS database_name, file_id, page_id, event_type, error_count, last_update_date
FROM msdb.dbo.suspect_pages
ORDER BY last_update_date DESC;
What to look for

Rows for the affected database confirm damaged pages; rows for other databases on the same storage mean the problem is not confined to one database.

Which backups are available?

SELECT TOP (20) bs.type, bs.backup_start_date, bs.backup_finish_date, bs.has_backup_checksums, mf.physical_device_name
FROM msdb.dbo.backupset AS bs
JOIN msdb.dbo.backupmediafamily AS mf ON mf.media_set_id = bs.media_set_id
WHERE bs.database_name = N'AppDb'
ORDER BY bs.backup_finish_date DESC;
What to look for

The latest full (D), differential (I) and log (L) backups: the material for the restore Microsoft recommends as the first and best option.

How to fix it

Each fix is labelled with what it changes. Try read-only checks and the least invasive fix first, and test changes outside production.

Fix a transient cause, then retry recovery

Changes database state

If the earlier error points to something temporary (a volume that was offline, a path that dropped), fix it and start the database again so recovery runs once more. Check the Windows System event log for storage errors first.

Caution: Retry only when the earlier error shows a temporary cause that is now fixed. Repeated attempts on failing storage can make damage worse; keep copies of the files and error logs before you start.

ALTER DATABASE AppDb SET OFFLINE;
ALTER DATABASE AppDb SET ONLINE;

Restore from the last known good backup

Changes database state

Microsoft names this the first and best option when the error cannot be corrected: it returns the database to a known consistent state. Take a tail-log backup if the log is readable, restore the full, differential and log backups in order, then run DBCC CHECKDB on the result.

Caution: RESTORE with REPLACE overwrites the suspect database and the evidence in it. Take the tail-log backup and keep copies of the original files first.

BACKUP LOG AppDb TO DISK = N'D:\Backups\AppDb_tail.trn' WITH NO_TRUNCATE;
RESTORE DATABASE AppDb FROM DISK = N'D:\Backups\AppDb_full.bak' WITH NORECOVERY, REPLACE;
RESTORE LOG AppDb FROM DISK = N'D:\Backups\AppDb_tail.trn' WITH RECOVERY;

No backup: involve an expert before anything else

Client or network side

Without a usable backup, Microsoft describes emergency mode options and copying data out to another database, and warns that transactional consistency cannot be guaranteed because recovery failed. These are specialist steps, best done on a copy of the files with Microsoft support or an experienced DBA, and not a routine fix: do not run DBCC CHECKDB repair options as a first response.

Examples

The error log entry when recovery fails

Shown as documented by Microsoft; not reproduced here because it needs a database whose recovery fails. The engine wording from sys.messages is shown, with placeholder database ID values; the error appears in the SQL Server error log during startup, not in a query window.

-- No statement: logged when the database starts, for example at service startup
EXEC sp_readerrorlog 0, 1, N'during recovery';
Result
An error occurred during recovery, preventing the database 'AppDb' (5:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.

How to prevent it

Take full and log backups WITH CHECKSUM and test restores regularly, so a failed recovery is an inconvenience rather than a disaster. Keep PAGE_VERIFY CHECKSUM on so damage is found when pages are read, not during a later recovery.

Alert on errors 823, 824 and 825 and on databases that are not ONLINE, and keep storage drivers and firmware current with write caches protected against power loss.

Common questions

Why did my application get 926 when the error log says 3414?

3414 is logged once, when recovery fails and the database is marked SUSPECT. Every later attempt to use the database returns 926 to the client.

Can 3414 go away on its own?

Microsoft notes it can be caused by a transient condition. If the earlier error was a temporary storage problem that is now fixed, restarting the database may let recovery complete. A permanent failure fails again every time.

Does a page error during recovery always cause 3414?

No. With deferred transactions, recovery can complete despite some page errors and leave the affected transactions deferred, so the database comes online without 3414. Those pages still need restoring.

Learn more on CodeWithSQL

Official documentation

Last technically reviewed 24 October 2026; examples and diagnostics run on SQL Server 2025 (17.0.1145.4). Message text checked against the engine's sys.messages catalogue.

Still stuck on a SQL Server error?

Browse the full SQL Server error library, or get hands-on help from an experienced SQL professional.