Database Availability Group (DAG) witness is in a failed state
As part of a maintenance job I had to update a 2-node Exchange Database Availability Group and a file-share witness server.
After the installation of Windows updates on the witness server and the obligatory reboot, the witness left in a failed state.
[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup -Identity DAG1 -Status | fl *wit*
WARNING: Database availability group ‘DAG01’ witness is in a failed state. The database
availability group requires the witness server to maintain quorum. Please use the
Set-DatabaseAvailabilityGroup cmdlet to re-create the witness server and the directory.
WitnessServer : fsw.domain.local
WitnessDirectory : C:\DAGFileShareWitnesses\DAG1.domain.local
AlternateWitnessServer :
AlternateWitnessDirectory :
WitnessShareInUse : InvalidConfiguration
DxStoreWitnessServers :
In my opinion, the re-creation of the witness server and the witness directory cannot be the correct way to solve this. There must be another way to solve this. In addition to this: The server was not dead. Only a reboot occured.
Check the basics
Both DAG nodes were online and working. A good starting point is a check of the cluster resources using the PowerShell.
In my case the cluster resource for the File Share Witness was in a failed state. A simple Start-ClusterResource solved my issue immediately.
[PS] C:\Windows\system32>Get-ClusterResource
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
File Share Witness (\\fsw.domain.local Failed Cluster Group File Share Witness
[PS] C:\Windows\system32>Get-ClusterResource | Start-ClusterResource
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
File Share Witness (\\fsw.domain.local Online Cluster Group File Share Witness
In this case, it seems that the the cluster has marked the file share witness as unreliable, thus the resource was not started after the file share witness was back online again. In this case, I managed it to manually bring it back online by running Start-ClusterResource on one of the DAG members.