I do not believe in magic. To be corrupted, the database file should be damaged somehow. The known ways to corrupt the SQLite: https://www.sqlite.org/howtocorrupt.html
For Windows it’s known issue, if it is rebooted unexpectedly when the file is open and write cache is enabled, with a non-zero probability the file will be corrupted.
I know, Windows 10 has bugs in every build. It could fire BSOD and reboot in any time, so, I can’t trust it any serious load, except Windows Server from stable conservative channel.
The other way to broke the SQLite is to use a network attached drives any kind. The NFS and SMB are not compatible with SQLite, however, the SMB could work in some circumstances (Windows Server - Windows Client locally), but even then if any real networking is involved between client and server - this have several problems: https://forum.storj.io/tag/smb
The only working network protocol is iSCSI, however, the network is involved and this leads to problems too: https://forum.storj.io/tag/iscsi
If you use the network attached drive for the storage, please consider to change your setup to use only local-attached drives.
If you use a docker desktop to run a storagenode, please, consider to migrate to the Windows GUI: https://documentation.storj.io/resources/faq/migrate-my-node/migrating-from-docker-cli-to-a-gui-install-on-windows
If it’s not an option - then at least rollback the Docker desktop to 220.127.116.11 due to problems with all latest release of this product.
If you use an alternative antivirus - add the storage location to the exceptions list of the antivirus. The data is encrypted and cannot be checked anyway, for the SNO and antiviurs it’s just a digital noise without knowing of encryption keys and where is all other pieces are located (i.e. you need to have an API key too).