For the past few weeks we've been having problems with our vCenter SQL logs (SQL Server Express).
We're getting the error "The transaction log for database 'VIM_VCDB' is full" every 5-6 hours and "Check new notifications" tasks queued in the vSphere Client.
Sure enough when I check the SQL data directory, the .ldf file has grown to the limit (currently 2GB).
This started a few weeks ago when our vCenter VM refused to accept connections from vSphere Clients.
Looked and the database had hit the 4GB size limit of SQL Server Express and the vSphere service had crashed. I don't have much knowledge of SQL Server, I mainly deal with Linux.
I ran the stored procedure to purge old data and lowered our event/task retention to 45 days (from about 360). The DB .mdf file has been stable at about 2GB and hasn't grown significantly since then. That allowed us to get vSphere Client connections again. But since the database size has stabilised now it's the log file that's the problem, growing to the size limit within an hour of running a shrink.
I've read all the tips I could find in the KB. The SQL DB recovery mode is set to Simple. I've tried shrinking both the log file and the DB then taking backups.
But even when the log file shrinks down to 1MB, it grows to the 3GB limit in about an hour and we start getting queued tasks in the vSphere Client.
Is there a way to prevent the log file from ballooning so agressively? I'm surprised at the size of the log even since I've reduced the retention to 45 days.