Cause #1: The Disk is Full — Check That First
Nine times out of ten, this error is just a full drive. SQL Server can't extend the .ldf file because there's no room left. I had a client last month whose backup job filled up the E: drive overnight, and every transaction on their ERP system ground to a halt with exactly this error.
Don't overthink it. Check the free space on the drive where your log file lives:
EXEC xp_fixeddrives;If free space is under 10% of the log file's current size, that's your problem. The fix is to free up space — delete old backups, move other files, whatever. If you can't free space quickly, add a new drive and move the log file there:
ALTER DATABASE YourDB MODIFY FILE (NAME = YourDB_Log, FILENAME = 'F:\MSSQL\Data\YourDB_log.ldf');Then restart SQL Server. Make sure the new path exists first, or you'll get a different error.
Real talk: don't just shrink the log to buy time. That's like removing junk from your trunk to fit more groceries — it works, but you haven't solved the root cause. Better to move the log to a drive that has headroom.
Cause #2: The Log File Hit Its Max Size Cap
Another common one: someone set MAXSIZE on the log file to a fixed number, and once it hits that, SQL Server stops growing it. This error will fire even if the disk has plenty of space.
Check the current settings:
SELECT name, max_size, growth, is_percent_growth FROM sys.database_files WHERE type = 1;If max_size is something like 2097152 (which is 2GB in 8KB pages) and the file is nearly that big, there's your culprit. The fix is simple — remove the cap or set it way higher:
ALTER DATABASE YourDB MODIFY FILE (NAME = YourDB_Log, MAXSIZE = UNLIMITED);I'd also set growth to a reasonable percentage, like 10%, instead of a tiny fixed MB count. A log that grows 1MB at a time will cause constant file growth, which fragments the drive and slows things down.
Now, if you've got a log that's already blown up to 50GB because of a bad query, you need to shrink it after you've fixed the cap. But be careful — shrinking a log that's legitimately needed will just cause it to grow again later, and that churn can cause VLF fragmentation. Only shrink if you're sure the log is oversized because of an anomaly.
Cause #3: A Runaway Transaction is Holding the Log Hostage
Sometimes the disk is fine and the cap is unlimited, but the log still won't grow. That means a transaction has been open for so long that SQL Server can't truncate the log. The log is full of uncommitted transaction data, and it needs to grow to keep going.
I've seen this happen when someone runs a huge DELETE or UPDATE in a transaction and forgets to commit. Or a data import job that wraps a million-row insert in a single transaction. The log grows and grows until it hits the cap or fills the disk.
Find the culprit with this query:
SELECT session_id, command, start_time, status, text FROM sys.dm_exec_requests CROSS APPLY sys.dm_exec_sql_text(sql_handle) WHERE command IN ('UPDATE', 'DELETE', 'INSERT') OR status = 'running';Once you spot the long-running transaction, kill it if it's stuck:
KILL 123; -- replace with the actual session_idThen you can shrink the log to reclaim space:
DBCC SHRINKFILE (YourDB_Log, 100); -- target size in MBBut here's the thing — if the transaction was legitimate (like a nightly batch job), you need to break it into smaller batches instead of one giant transaction. That way the log can reuse space between batches without growing endlessly.
Also check if you're in full recovery mode and haven't taken a log backup in a while. That's a classic cause — the log never truncates until a backup happens. I had a shop that ran in full recovery but only backed up the database, not the log. Their log grew to 200GB before they called me. The fix was to schedule log backups every 15 minutes during peak hours.
Quick Reference Summary
| Symptom | Likely Cause | Fix | Time to Fix |
|---|---|---|---|
| Disk has low free space | Log can't extend physically | Free up space or move log file to another drive | 10 minutes |
| Log file size is at MAXSIZE | Cap set too low | Remove cap or increase it | 2 minutes |
| Disk fine, cap fine, but log won't grow | Long-running transaction or no log backups | Kill transaction, shrink log, schedule log backups | 30 minutes |
That's the whole playbook. If you've checked these three things and still see 0X00001AB1, it's worth checking for VLF corruption, but that's rare. Start with the disk, then the cap, then the transaction. You'll fix it 95% of the time without touching anything exotic.
One last piece of advice: after you fix this, set up a simple alert that pages you when free disk space drops below 20% on the log drive. Because this error is a symptom — the real problem is you were about to run out of space anyway, and you just didn't know it yet.