SQL Log backup fails with the error SQL8: Database is already open and can only have one user at a time
Problem description
SQL Log backup fails with the SQL8: Database is already open and can only have one user at a time error.
Cause
This issue occurs if the database is in the Maintenance mode.
Traceback
- Download the logs for the backup job. See Logs.
- Extract the log, open the Phoenix<YYYY/MM/DD>-<timestamp>.log file, and search for the following traceback in the logs.
[2020-03-28 21:09:35,184] [ERROR] <_MainThread(MainThread)> Error <class 'vdilib.SqlException'>:Database 'AdventureWorksLT2012' is already open and can only have one user at a time.. Traceback -Traceback (most recent call last):
File "agents\sqlserver\VssHelper.pyc", line 52, in open_vdi_handle
File "agents\sqlserver\VdiHelper.pyc", line 103, in open
File "vdilib.pyx", line 177, in vdilib.PyVdiBackup.PyMountAndTransfer (vdilib_pyx.cpp:2502)
File "vdilib.pyx", line 206, in vdilib.PyVdiBackup.PyCheckError (vdilib_pyx.cpp:2953)
SqlException: Database 'AdventureWorksLT2012' is already open and can only have one user at a time.
Resolution
- After the maintenance of the database is done, change the status of the database from the Maintenance mode to the Normal mode.
- Perform log backup when the database is in the Normal mode.