Sql-server – The transaction log for database ‘tempdb’ is full but it should have grown

sql serversql-server-2008-r2

I have a SQL Server 2008 R2 that started showing that the TempDB transaction log was full. I checked the log file settings and there was no growth restriction and there was plenty of disk space.

I had no luck on finding an explanation of what could have caused this.

Has anyone experienced this in the past?

Thank you.

Best Answer

I've seen this occur when the file growth setting is set too high, so the growth event takes too long. Obviously this depends on your storage environment and performance details.

In my case, the 10% default growth rate was fine when the database was small, but at some point when the database got huge enough that the growth event took over 30 seconds, which was long enough that the original query timed out and rolled back. The rollback then cancelled the growth event, until the application re-tried the same query, and we got an endless loop.

So check your growth rates, or just pre-size your tempdb to a larger size.