How to fix Error 3018 on Windows Server 2025 / Windows 11

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 /a in Command Prompt on that directory to look for hidden .ckp files 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 RESTART to 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.msc to refresh the security token.

Step 4: Check Disk Space and Storage Health

  • Run Get-PSDrive -PSProvider FileSystem in 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-VirtualDisk to 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 VERIFYONLY on the backup file first to rule out underlying backup corruption as the root cause rather than the checkpoint mechanism itself.