SQLTeam.com | Weblogs | Forums

In Database Mirroring, Can Witness Be on the Principal Server?

Hi experts, I'm demonstrating how to configure Database Mirroring with automatic failover (synchronous mode). because this is just a demo, I need to take some shortcuts.

I usually use a 3rd server for the Witness but I'm wondering if I can choose the Principal (or the Mirror) to serve as the Witness. Again this is just a demo that will be blown away later. And yes, I know DB Mirroring is deprecated and will go away at some point.


I'm pretty sure the answer is "no", as in SQL Server won't allow you to do it. But if it does, it's not a proper demonstration, as quorum will be compromised. Even if it allows you to fail over to the secondary, you'd probably end up with a split-brain scenario.

The only physical way I can think this might work is if you were running a virtual machine on the primary server and was able to get that VM to act as a witness. It still compromises quorum though.

A better demo would be to use 3 VMs on a single host, since you can properly demo failover with witness/quorum and simulate network and VM failures with full control.