I have two clusters setup for failover. However, from some time ago, I keep getting error Exception code: 0xc0000374 Then SQL SERVER failover happens. When failover happens, sometimes the secondary node is able to successfully receive failover. Other times, secondary node is unable to start SQL SERVER with following error: Exception code: 0xc0000374. This is happening almost every day now at random times. Researching the exception code, I found its heap corruption issue. Is there any way to debug or find out the cause of this issue or fix the problem?
[...] I keep getting error Exception code: 0xc0000374 [...]
This translates to STATUS_HEAP_CORRUPTION which is most likely caused by 3rd party loaded modules. Unfortunately, due to how heap corruption works, it can happen at any time and is generally only found by the victim and not the offender. Thus, it could happen at any time but only found X time later.
Is there any way to debug or find out the cause of this issue or fix the problem?
You'll want to turn on heap checking in GFLAGs or use Application Verifier with heap checking so that the offender is caught at the time it occurs rather than the victim, later.
100% this will be a 3rd party module loaded in the module space, most likely a linked server driver or crappy antivirus/antimalware/auditing driver. SQL Server uses extremely little process or global heap.