Wondering how to fix SQL Server Error 9002? We can help you.
Often in SQL server, when a log file gets filled up with transaction logs, it shows SQL Server Error 9002.
Usually, the transaction logs get filled when the SQL server database is online or if it is in recovery mode.
Here at Bobcares, we often get requests from our customers to fix similar errors as a part of our Server Management Services.
Today let’s see how our Support Engineers fix SQL Server Error 9002 when the transaction logs are full in a log file.
How to fix SQL Server Error 9002: The transaction log for database is full
A typical Error 9002 will look like the one given below:
We can do the following steps to fix this error:
1. First create a backup and truncate the transaction logs
2. Make the log space available
3. Move log file to another disk drive
4. After that increase the size of the log file
5. Add another log file on a separate disk
6. Finally complete or kill a long-running transaction
1. Create a backup and truncate the transaction logs
If our database is in full or bulk-logged recovery model and if the transaction log is not backed up, we must take the backup of transaction logs and allow Database Engine to truncate the transaction logs to the point of the last backup.
This will free some space for new transactions.
2. Make the disk space available
We can do this by deleting or moving some other files on which the transaction log file is contained.
3. Move log file to another disk drive
If we are not able to make the disk space available for the drive on which our transaction log file is contained, we can try to move the log file on another disk with available space.
We must keep in mind the following points while doing this:
1. We have to ensure that the other disk has enough space for new transaction logs.
2. We can detach the database by using the following command:
sp_detach_db
3. This action will make the log file unavailable as long as we do not re-attach it.
4. For reattaching the database, we can execute the following:
sp_attach_db
4. Increase the size of the log file
If we have enough space on the log disk, then we can increase its size.
To increase the size of the log file, we can either do any of the following:
1. Produce a single growth increment
2. Enable autogrow by the ALTER DATABASE statement
5. Add or enlarge the log file
We can also add an additional log file for the database and gain more space.
1. To add another log file on a separate disk, use ALTER DATABASE ADD LOG FILE.
2. Use MODIFY FILE clause of the ALTER DATABASE to enlarge the log file.
6. Complete or kill a long-running transaction
Discovering long-running transactions
A very long-running transaction can cause the transaction log to fill.
For checking long-running transactions, we can use one of the following:
1.sys.dm_tran_database_transactions
or
2. DBCC OPENTRAN
Kill a transaction
It will be better to end the process if it’s taking too long.
We can use the KILL statement for doing this.
[Need assistance? We can help you]
Conclusion
In short, we saw how to fix SQL Server Error 9002, also we saw the steps that our Support Engineers follow to fix this issue for our customers.
0 Comments