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

Troubleshooting Guide: SQL Server Error 1809

Why This Error Happens

Error 1809 in SQL Server typically occurs when the database engine cannot locate or access the tempdb database files during startup, often because the files were moved, renamed, or deleted without updating the server’s internal metadata. This can also happen due to insufficient permissions on the SQL Server service account for the directory containing the data files, or due to a misconfigured storage path following a server migration. In some cases, corrupted or missing .mdf/.ldf files at the specified path trigger this error, preventing the “Getting Data” phase from completing during service initialization.

Step-by-Step Resolution Guide

Step 1: Verify File Paths and Existence

  • Open SQL Server Configuration Manager and locate the SQL Server service startup parameters.
  • Check the -d, -l, and -e startup parameters to confirm the exact paths pointed to for the master, tempdb, and log files (e.g., C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\).
  • Use File Explorer or PowerShell (Get-ChildItem "C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\") to confirm the referenced .mdf and .ldf files physically exist at that location.

Step 2: Correct Permissions on the Service Account

  • Right-click the DATA folder containing your SQL Server files and select Properties > Security.
  • Ensure the service account (commonly NT Service\MSSQLSERVER or a custom domain account) has Full Control permissions.
  • Run icacls "C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA" /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)F in an elevated Command Prompt to reapply correct permissions if they appear misconfigured.

Step 3: Rebuild or Relocate tempdb (If Files Are Missing)

  • If tempdb files are confirmed missing or corrupted, start SQL Server in minimal configuration mode using NET START MSSQLSERVER /f /T3608 to bypass full tempdb initialization.
  • Once connected via SQLCMD, run ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'C:\NewPath\tempdb.mdf') to point to a valid, accessible location.
  • Restart the SQL Server service normally afterward to confirm it initializes without the /f /T3608 flags.

Step 4: Check Disk Space and Volume Health

  • Confirm the volume hosting your database files has sufficient free space (SQL Server will fail to initialize tempdb growth if the disk is full).
  • Run chkdsk C: /f (replace C: with your actual data volume) during a maintenance window to rule out underlying disk corruption.

Alternative or Verification Steps

  • Check the SQL Server Error Log (via Configuration Manager or C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG) immediately after a restart attempt to confirm the service now mounts tempdb and all databases successfully without Error 1809 appearing.
  • If the issue persists, consider using the SQL Server Installation Center to run a Repair on the instance, which can reset corrupted system metadata pointing to the incorrect file paths.