When attachability check runs at night, or if you manually force it, the task fails with error "The recovery point is incomplete"
System.InvalidOperationException: The recovery point is incomplete
at Replay.Core.Implementation.Sql.SqlService.ForceAttachability(String recoveryPointId)
This problem occurs whenever a volume that that holds the database files that used to be under protection is no longer present in the machine. Each volume has a unique GUID provided by Windows, this information is collected through metadata gathering by the Core and is kept to monitor the drives to be backed up. The Core does not get rid of this information regardless if the disk(s) is/are removed in case the user decides to reconnect that/those disk(s) to the machine later on.
If the case is that the disk(s) were replaced, or decommissioned, or something was altered at a Windows level that made the GUID of the volume(s) change or disappear, and the same drive letter is used as the previous volume(s) had; you will encounter the situation in which your summary page of the agent shows those no-longer-present drives with a warning sign. See below example for instance:
Notice that in this case we have 2 sets of C:\, D:\, and E:\, which causes a confusion in the Core as the database files are present in C:\, D:\, and E:\ and in turn triggers this error.
To resolve this problem just follow these simple steps:
From this point forward all recovery points should be able to get successful attachability checks.