In the past, I have written a number of blogs when it comes to working with errors pertinent to disk space running out. In this blog, I try to consolidate the common messages you are going to see in the Error logs when the database engine is not able to get the space that it needs from the disk subsystem. One of the common scenario’s where these are seen is while recovery operation (when SQL is restarted).
During recovery, the SQL Server Database Engine might require additional disk space for data files. When an operation lacks sufficient disk space, the Database Engine issues an 1101 or 1105 errors (depending on whether it is unable to allocate space for an extent or an object, respectively). If the disk fills while the database is online, the database remains online, but the data cannot be inserted. If the disk fills during recovery, the Database Engine marks the database as “resource pending.” In either case, user action is required to make disk space available.
Typical errors reported are listed here:
Error 1101:
Could not allocate a new page for database ‘%.*ls’ because of insufficient disk space in filegroup ‘%.*ls’. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Error 1105:
Could not allocate space for object ‘%.*ls’%.*ls in database ‘%.*ls’ because the ‘%.*ls’ filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Error 9002:
The transaction log for database ‘%.*ls’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
One of the following actions might make space available to the filegroup:
- Free disk space on the full disk.
- Move data files to another disk.
- Add files on a different disk.
- Enable autogrow or check if fixed size has been set.
- If using SQL Express Edition, check if it exceeds the database size limits.
I am sure you have seen some of these, do let me know if I missed a scenario from the above list.
Reference: Pinal Dave (http://blog.sqlauthority.com)
First appeared on SQL SERVER – Errors When Disk Space is the Reason