Let's say I have 4 SQLServer 2012 R2 divided into two mirrors:

  • SQL1-1 with its mirror SQL1-2. The Witness is SQL2-2.
  • SQL2-1 with its mirror SQL2-2. The Witness is SQL1-2.

The mirorring has been created with GUI, so I have only one endpoint for mirorring on each server : TCP://SQLx-x.fqdn.lan:5022 (except built-in endpoints like NamedPipes, etc).

So, for servers SQL1-2 and SQL2-2, this endpoint is used for mirorring AND witnessing of the other mirror. Can this be a problem?

This question came because of an unexpected failover last night and this message in event logs :

An error occurred in a Service Broker/Database Mirroring transport connection endpoint, Error: 8474, State: 11. (Near endpoint role: Target, far endpoint address: '')

Here is a solution (restarting endpoints) which didn't worked for me.

Additional informations :

  • I can telnet TCP://SQLx-x.fqdn.lan 5022 from every servers
  • Endpoints permissions seems to be fine

Thanks, and sorry for my poor english.

  • Just curious - why would you keep a secondary mirror server of a different mirroring pair as a witness of each other. E.g. Why do you have a witness SQL2-2 which acts as mirror(secondary) to SQL2-1 ? – Kin Shah Jul 13 '15 at 16:17
  • No real reason. The customer installed 4 SQLServ at the beginning, and don't want to change for now. I know, it means more licenses, but.. – Patator Jul 13 '15 at 17:08
  • You should certainly keep each mirror setup separate. Create a new mirror endpoint on 1-2 for use by the second group of servers, and one on 2-2 for use by the first group of servers. – Max Vernon Jul 13 '15 at 22:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.