Troubleshooting Guide: Error 3018 – Restart-Checkpoint File Not Found
Why This Error Happens
This error occurs when SQL Server attempts to resume a RESTORE operation using the WITH RESTART option, but the checkpoint file it relies on to track progress has been deleted, moved, or was never successfully created due to a prior interruption. This typically happens when the restore process was terminated abruptly (service crash, manual cancellation, or disk failure) before the checkpoint file could be written to the designated temporary directory. Insufficient disk space or restrictive NTFS permissions on the checkpoint directory can also prevent the file from persisting between restore attempts.
Step-by-Step Resolution Guide
Step 1: Verify the Checkpoint File Location and Existence
- Check the default temp directory, typically
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Backup\or the path specified in your RESTORE command. - Run
dir /ain Command Prompt on that directory to look for hidden.ckpfiles that may have been flagged as system files. - Confirm the exact filename referenced in the error message matches what SQL Server expects.
Step 2: Restart the RESTORE Operation Without the RESTART Flag
- Since SQL Server has already indicated it will restart from the beginning, manually run the RESTORE command without
WITH RESTARTto avoid redundant retry logic: RESTORE DATABASE [YourDB] FROM DISK = 'D:\Backups\YourDB.bak' WITH NORECOVERY;- This bypasses the checkpoint dependency entirely and forces a clean restore sequence.
Step 3: Validate NTFS Permissions on the Backup/Checkpoint Directory
- Right-click the backup folder (e.g.,
D:\SQLBackups\) and navigate to Properties > Security. - Ensure the SQL Server service account (e.g.,
NT Service\MSSQLSERVER) has Full Control permissions. - Apply changes and restart the SQL Server service via
services.mscto refresh the security token.
Step 4: Check Disk Space and Storage Health
- Run
Get-PSDrive -PSProvider FileSystemin PowerShell to confirm the target drive has sufficient free space (restores and checkpoints require temporary buffer space). - If using Windows Server 2025 Storage Spaces, run
Get-VirtualDiskto rule out underlying volume health issues that may have caused the checkpoint write to fail silently.
Step 5: Re-Issue the Restore with Explicit Checkpoint Path (Optional)
- If you need checkpoint functionality for a large restore, explicitly define a new checkpoint file path to avoid conflicts with the corrupted reference:
RESTORE DATABASE [YourDB] FROM DISK = 'D:\Backups\YourDB.bak' WITH RESTART, CHECKPOINT = 'D:\Backups\YourDB_new.ckp';
Alternative or Verification Steps
- Confirm the fix by checking SQL Server Error Logs (via
EXEC sp_readerrorlog) to verify the restore completed with a “RESTORE DATABASE successfully processed” message and no further 3018 entries. - If the issue persists across multiple attempts, use
RESTORE VERIFYONLYon the backup file first to rule out underlying backup corruption as the root cause rather than the checkpoint mechanism itself.