To preface this post, I am not anywhere near a SQL expert. It’s a weak point in my knowledge, so my below suggestions are to be used at your own risk. I am using Veeam version 22.214.171.12453 and SCCM 1910 at the time of this blog post.
Recently in Veeam I kept getting an error when backing up our SCCM server. Our SCCM server also has SQL installed on it and we have the Veeam backup job truncate the SQL logs as well when it performs a backup. This is done in the application-aware settings of the backup job.
However, whenever the backup job ran I would receive an error
‘SCCMSERVER’ could not initiate a checkpoint operation: %%2147754996 (0x800423F4). (Virtual machine ID <ID>)’). Error code: ‘32768’.
Failed to create VM recovery snapshot, VM ID ‘<ID>’.
Veeam’s solution was to repair SQL Server. Easy enough, but I really didn’t want to start repairing our production SCCM SQL server. I also came across Didier Van Hoye’s blog post about this error, which pointed me in the right direction. I began digging through the SQL Logs and discovered that the transaction logs were full on a couple databases.
Again, since my SQL knowledge is minimal, I went to the databases in question, in this case my report database and data warehouse database, and tried to shrink the logs. Since the logs were completely full, I received an error trying to shrink them. Hmmm, maybe that’s why Veeam was having trouble? So upon further research I found another option to shrink the transaction logs.
So I went to the databases in question and changed the recovery model to Simple. Then I ran a
Checkpoint 60 in the database query. After that completed successfully I went back through and did a shrink on the log files. Finally I changed the database recovery model back to Full. After truncating my transaction log files, the Veeam backup job for our SCCM server completed successfully again.