Occasionally on a Skype for Business server deployment, you may find yourself getting hit with 57005 errors out of nowhere, with the frontends complaining that they’re unable to push data to the RtcXds Blob Store. The error is nice enough to go into some further detail – in the screenshot listed below, you’ll see that the SQL exception which was returned was “The transaction log for database ‘rtcxds’ is full due to ‘LOG_BACKUP'”
The main problem here is that while other databases’ log files are set to expand quite nicely, the RtcXds logfile is inexplicably capped at 16GB. The database itself is unlimited, but once that transaction log is full everything will cease being able to write to the database. At any time you can check the size of the logfiles by running the following command in a Query window:
DBCC SQLPERF (LOGSPACE)
In my case, the rtcxds logfile was at 100%.
The quick and dirty way to get around it is just to perform a backup of the logfile to disk, but I’d prefer to give it some extra headroom, as well as a maintenance plan so that we don’t face this problem again.
First, let’s perform an initial backup of the logfile to disk so that we know it’s safely stored somewhere before we start messing with it. Connect to the database with SQL Management Studio, right click on the RTCXDS database and select tasks>backup. Select Transaction Log and ensure that Copy-only backup is unticked. In the destination section, choose a location and filename. Click OK and wait for the backup to complete.
Next, open a new query window where we’ll execute the following TSQL
BACKUP log rtcxds TO DISK = 'NUL:'; ALTER DATABASE rtcxds MODIFY FILE (NAME = rtcxds_log, MAXSIZE = 50GB);
In this command we’ll run another backup, but this time we won’t write it anywhere. This will ensure that we’re able to modify the actual file in the second line, which will set the new maximum size of the logfile to 50GB. Change this to whatever you prefer and execute by either pressing the execute button or hitting F5.
The final step is to set up a maintenance plan to back up your transaction log to disk on a regular basis. I’ll cover that in another post.