Troubleshooting Guide: SQL Server Error 5144 – Autogrow Cancelled or Timed Out
Why This Error Happens
This error occurs when SQL Server attempts to automatically grow a database file, but the operation is cancelled by a user action (such as killing the session or query timeout) or exceeds the internal autogrow timeout threshold. The root cause is typically a large FILEGROWTH increment combined with slow disk I/O, insufficient disk space, or Instant File Initialization (IFI) not being enabled for data files, causing the zero-initialization process to take too long. In some cases, concurrent autogrow requests on the same file or Transparent Data Encryption (TDE) can also extend the growth duration beyond the timeout window.
Step-by-Step Resolution Guide
Step 1: Verify Disk Space and Storage Health
- Check the underlying volume (e.g.,
D:\SQLData\) usingGet-PSDrivein PowerShell to confirm sufficient free space exists for the requested growth. - Review Windows Event Viewer under Windows Logs > System for disk latency or hardware warnings (Event ID 153 or 129) that indicate slow I/O.
- If using SAN/NAS storage on Windows Server 2025, confirm multipathing (MPIO) is configured correctly and not causing intermittent timeouts.
Step 2: Enable Instant File Initialization (IFI)
- Open Local Security Policy (
secpol.msc) and navigate to Local Policies > User Rights Assignment. - Grant “Perform Volume Maintenance Tasks” permission to the SQL Server service account.
- Restart the SQL Server service via SQL Server Configuration Manager for the change to take effect.
- Confirm IFI is active by running:
SELECT instant_file_initialization_enabled FROM sys.dm_server_services;
Step 3: Adjust FILEGROWTH and Initial File Size
- Open SQL Server Management Studio (SSMS) and connect to the affected instance.
- Run the following command to set a smaller, fixed-size growth increment instead of a percentage-based one:
ALTER DATABASE [YourDatabaseName]
MODIFY FILE (NAME = N'YourLogicalFileName', FILEGROWTH = 256MB);
- Pre-size the data and log files to their expected production size to minimize the frequency of autogrow events:
ALTER DATABASE [YourDatabaseName]
MODIFY FILE (NAME = N'YourLogicalFileName', SIZE = 20480MB);
Step 4: Review and Increase Timeout Thresholds (If Applicable)
- Check if any monitoring tools, load balancers, or application connection strings have aggressive command timeout settings that may be prematurely cancelling the growth operation.
- Adjust the Connection Timeout and Command Timeout values in your application’s connection string (e.g., increase from 30 to 120 seconds) to allow large growth operations to complete.
Alternative or Verification Steps
- To verify the fix, monitor the SQL Server Error Log (via
EXEC sp_readerrorlog) for subsequent autogrow events and confirm they complete without triggering Error 5144 again. - If the error persists despite these changes, consider implementing a maintenance job that manually pre-grows files during off-peak hours using
ALTER DATABASE ... MODIFY FILEto avoid relying on autogrow during high-traffic periods entirely.