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

Why This Error Happens

Error 3930 occurs when a transaction encounters a critical failure that prevents SQL Server from writing further log records, most commonly due to the transaction log running out of space or becoming corrupted. This can also happen when a doomed transaction state is triggered by an underlying I/O failure, disk subsystem error, or when the transaction log file has reached its maximum configured size with autogrowth disabled. Since the transaction is marked as “doomed,” SQL Server blocks any further writes and forces a rollback to maintain database consistency.

Step-by-Step Resolution Guide

Step 1: Check Transaction Log Space and Disk Capacity

  • Open SQL Server Management Studio (SSMS) and run DBCC SQLPERF(LOGSPACE); to check log usage percentage.
  • Verify the physical drive hosting the .ldf file has sufficient free space (navigate to the drive in Windows File Explorer or run Get-PSDrive in PowerShell).
  • If disk space is low, free up space or move the log file to a drive with more capacity using ALTER DATABASE [YourDB] MODIFY FILE.

Step 2: Review and Adjust Autogrowth Settings

  • In SSMS, right-click the database > Properties > Files, and check the Autogrowth/Maxsize settings for the log file.
  • Ensure autogrowth is enabled and not restricted to an unrealistically small maximum file size.
  • Set growth increments in fixed MB values (e.g., 512MB) rather than percentages to avoid unpredictable growth spikes, especially on large databases.

Step 3: Inspect Windows Event Viewer and SQL Server Error Logs

  • Open Event Viewer (eventvwr.msc) on Windows Server 2025/Windows 11 and check the Application log for related I/O or disk errors (Event IDs 823, 824, or 9001).
  • Cross-reference with the SQL Server Error Log located at C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG.
  • Look for entries indicating log corruption, disk write failures, or antivirus/backup software locking the log file.

Step 4: Run Database Consistency Checks

  • Execute DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS; to detect corruption in the database or log file.
  • If corruption is found, restore from the most recent clean backup rather than attempting repair options that may cause data loss.

Step 5: Restart the SQL Server Service (If Safe)

  • Open Services.msc on Windows Server 2025, locate SQL Server (MSSQLSERVER), and restart the service to clear any stuck transaction states.
  • Confirm no active user transactions are mid-process before restarting, as this will roll back all open transactions.

Alternative or Verification Steps

  • After applying fixes, run a test transaction (BEGIN TRAN; UPDATE...; COMMIT;) on the affected database to confirm it commits successfully without triggering Error 3930.
  • If the issue persists, restore the database from a verified backup to a secondary instance and compare log file integrity, as this isolates whether the problem is disk-related or database-corruption-related.