After upgrading my homelab Veeam v12 to Backup & Replication 12.1(12.1.0.2131), my Windows Agent backups started to fail with the newest Windows Agent backup version 6.1.0.349. The error received on all agents were “Windows Agent Error: Failed to read data from the data reader String was not recognized.”. Downgrading the agent to 6.0.1090 did solve the issue, but upgrading the agent would result in the same issue to present.
Note that this was in an environment where B&R was handling the backup policies.
To fix the issue, you need to reset the Veeam Agent database (Link: How to Reset the Veeam Agent for Microsoft Windows Configuration Database). The Veeam Agent database will not be reset during an agent uninstall and downgrade, and thus the issue wasn’t fixed with the agent reinstall.
Verification
You can verify the error from the Agent logs (Link: How to Collect Logs for Veeam Agent for Microsoft Windows). You should find similar entries as below;
12.12.2023 22.03.31] <22> Error String was not recognized as a valid DateTime. (System.FormatException)
[12.12.2023 22.03.31] <22> Error at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
[12.12.2023 22.03.31] <22> Error at System.Data.SQLite.SQLiteConvert.ToDateTime(String dateText, SQLiteDateFormats format, DateTimeKind kind, String formatString)
[12.12.2023 22.03.31] <22> Error at System.Data.SQLite.SQLite3.GetDateTime(SQLiteStatement stmt, Int32 index)
[12.12.2023 22.03.31] <22> Error at System.Data.SQLite.SQLiteDataReader.GetDateTime(Int32 i)
Solution
- Create the following registry value on the machine where Veeam Agent for Microsoft Windows is installed.
Key Location: HKLM\SOFTWARE\Veeam\Veeam Endpoint Backup
Value Name: RecreateDatabase
Value Type: DWORD (32-bit) Value
Value Data: 1
New-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Endpoint Backup' -Name 'RecreateDatabase' -Value "1" -PropertyType DWORD -Force
- Restart the Veeam Agent for Microsoft Windows service.
During the start-up of the Veeam Agent for Microsoft Windows service, a new configuration database will be created, and the registry value data will be set to 0, ensuring that this only occurs once.
Restart-Service VeeamEndpointBackupSvc