SQL Server Database Mirroring error 1443 - Connection Handshake Failed

Here's another error that I picked from the forums today, which I see a fair number of occurrences of, both in the public forums on the web and internally in MS support as well.

You attempt to enable database mirroring and you receive the following:

Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (c0000413) 0xc0000413(error not found). State 67.'.

Error: 1443, Severity: 16, State: 2.

If you translate error 0xc0000413 you come up with the following:

STATUS_AUTHENTICATION_FIREWALL_FAILED

This may seem slightly strange, as you may not have a firewall in between these servers (well you might but even if you do this is not the problem, as if your firewall was blocking the traffic you would encounter error 1418 normally). But in truth this error comes from somewhere different. It's extremely likely that if you are experiencing this error you are mostly likely running mirroring with one of the following configurations:

1. Using domain user logins for the service accounts, but different ones across the mirror partners

2. Using multiple domains, as per the forums poster that I saw today.

The chances are that you have not explicitly created logins and granted them CONNECT permissions to the endpoints, as per these 2 articles:

https://msdn.microsoft.com/en-us/library/ms178029(SQL.90).aspx

https://msdn.microsoft.com/en-us/library/ms179306(SQL.90).aspx

If you are running in the same domain, with the same domain account as the SQL Server service account, then this is not required, but if you want to do your authentication in a slightly more complex way, then these are the articles for you.

Alternatively of course you could run mirroring using certificates, if for some reason the above solution didn't fit in with your security policies.

https://technet.microsoft.com/en-us/library/ms191477(SQL.90).aspx

Which also is valid if you want to run your service accounts outside of a domain environment.

Graham