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

Why This Error Happens

Error 3017 occurs when SQL Server 2025 cannot access the restart-checkpoint file during a backup or restore operation, typically because the file path is unreachable, the SQL Server service account lacks the necessary NTFS permissions, or the underlying storage location has been moved, deleted, or is locked by another process. This is also commonly triggered by disk corruption, a disconnected network share (UNC path), or insufficient disk space preventing the file handle from being created or opened correctly on Windows Server 2025.

Step-by-Step Resolution Guide

Step 1: Verify File Path and Existence

  • Confirm the exact path reported in the error message (%ls) exists on the file system.
  • Open File Explorer or run dir "C:\Backup\YourCheckpointFile.chk" in Command Prompt to confirm the file is present.
  • If using a network share, validate connectivity with Test-Path "\\ServerName\Share\checkpoint.chk" in PowerShell.

Step 2: Check and Correct NTFS Permissions

  • Right-click the backup/checkpoint folder, select Properties > Security, and ensure the SQL Server service account (e.g., NT Service\MSSQLSERVER) has Read/Write/Modify permissions.
  • Run the following PowerShell command to grant access if needed:
  icacls "C:\Backup" /grant "NT SERVICE\MSSQLSERVER:(OI)(CI)F"
  • Restart the SQL Server service after applying permission changes via services.msc or net stop MSSQLSERVER && net start MSSQLSERVER.

Step 3: Validate Disk Space and Storage Health

  • Check available disk space on the target volume using Get-PSDrive C in PowerShell.
  • Run chkdsk C: /f (requires reboot) if file system corruption is suspected on Windows Server 2025.
  • Ensure no antivirus or backup agent is locking the .chk file during the SQL Server operation.

Step 4: Recreate or Specify a New Checkpoint File Location

  • If the original file is corrupted or inaccessible, modify the WITH RESTART clause in your T-SQL script to point to a new, valid path:
  RESTORE DATABASE YourDB
  FROM DISK = 'C:\Backup\YourDB.bak'
  WITH RESTART, STANDBY = 'C:\Backup\NewCheckpoint.chk';
  • Ensure the new directory has the same permission structure applied in Step 2.

Alternative or Verification Steps

  • Re-run the original backup or restore command and confirm it completes without Error 3017 appearing in the SQL Server Error Log (SQL Server Management Studio > Management > SQL Server Logs).
  • If the issue persists, use Process Monitor (ProcMon) to trace the exact ACCESS DENIED or PATH NOT FOUND event tied to the SQL Server process ID when the checkpoint file is accessed.