Why This Error Happens
Error 9732 during SQL Server startup typically occurs when the Database Engine service account cannot properly initialize one or more system or user database files needed to bring the instance online. This is most commonly caused by NTFS permission changes on the data/log directories, a third-party antivirus or backup agent locking the .mdf/.ldf files, or file-system corruption introduced by an improper shutdown. In rarer cases, it stems from a mismatch between the SQL Server service account and the ACLs applied after a Windows Server 2025 in-place upgrade.
Step-by-Step Resolution Guide
Step 1: Review the SQL Server Error Log
- Open
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG(adjust instance folder name as needed). - Look for the line immediately preceding Error 9732 — it usually names the specific file or filegroup that failed to initialize.
- Confirm whether the error references
master,tempdb, or a user database.
Step 2: Validate File System Permissions and Locks
- Right-click the referenced
.mdf/.ldf/.ndffile(s) → Properties → Security, and confirm the SQL Server service account (e.g.,NT Service\MSSQLSERVER) has Full Control. - Run
icacls "D:\SQLData\*.mdf" /grant "NT SERVICE\MSSQLSERVER":Ffrom an elevated PowerShell/Command Prompt to reset permissions if needed. - Temporarily disable real-time antivirus scanning or add an exclusion for the SQL data/log directories, since file locks from scanners are a common trigger on Windows Server 2025.
Step 3: Start SQL Server in Minimal Configuration Mode
- Open an elevated Command Prompt and run:
net start MSSQLSERVER /f /T3608 - This starts the instance with only the
masterdatabase, allowing you to confirm the service itself can initialize before troubleshooting the specific database file. - If the service starts successfully in this mode, the issue is isolated to a specific user database file rather than the core engine.
Step 4: Repair or Restore the Affected Database
- If a user database file is at fault, take it offline and run:
DBCC CHECKDB('YourDatabaseName') WITH NO_INFOLEAD - If corruption is confirmed, restore the most recent full backup plus transaction log backups rather than relying on
REPAIR_ALLOW_DATA_LOSS. - If
masterortempdbis implicated, rebuild system databases usingsetup.exe /ACTION=REBUILDDATABASEor relocatetempdbfiles to a healthy drive path via-d,-l, and-estartup parameters in SQL Server Configuration Manager.
Alternative or Verification Steps
- After applying fixes, stop minimal configuration mode and restart the service normally (
net start MSSQLSERVER), then confirm the ERRORLOG shows “SQL Server is now ready for client connections” with no further 9732 entries. - If the error persists, run
sqlservr.exe -c -mdirectly from the Binn directory in an interactive console to capture real-time diagnostic output before escalating to Microsoft Support with the error log attached.