I was working on a VM and stumbled upon a TEMPDB issue. I was getting disk is full errors…:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\tempdb.mdf: Operating system error 112(There is not enough space on the disk.) encountered.
Could not allocate space for object ‘<temporary system object: >’ in database ‘tempdb’ because the ‘PRIMARY’ filegroup is full.
This may occur for other databases as well, or for that matter, other files.
I had a look around and had appropriate disk space, so I new that wasn’t the issue. SQL services we’re running under a service account, so I started looking around to make sure the service account has enough rights to use large amounts of space. I couldn’t expand the TEMPDB size manually in SQL Server Management Studio and Quota’s in AD/Group Policy we’re not configured, so that wasn’t the problem.
If you right-click on the drive where TEMPDB is located, you will see that SBS has quota enabled by default (in my case it was the C: drive and that would have the setting ON by default).
Here’s the Quota tab where you could disable it:
Turning quota management off will allow the service account to use up disk space and enlarge its TEMPDB. This should be only turned off on a development environment or if you really know what you are doing. It is also best practice to relocate the TEMPDB on a different disk for performance reasons.
Hope this helps!