also, observed on Principal server sql server services running on NT service\MSSQLSERVER account and Mirror server sql server services running on Domain account.but as per best practices Service accounts(SQL and agent) need to be the same on both boxes.
I found that certificated domain login used for DB mirroring.
Prinicipal server error log:
Database Mirroring login attempt by user 'xxx\xxxSQL.' failed with error: 'Connection handshake failed. The login 'xxx\xxxSQL' does not have CONNECT permission on the endpoint. State 84.'
Please note:
this is the domain account (and SQL server services running under this account)
Mirror server Error log information:
Database Mirroring login attempt by user 'XXX\XXXXSQL$.' failed with error: 'Connection handshake failed. The login 'XXX\XXXXSQL$' does not have CONNECT permission on the endpoint. State 84.'. [CLIENT: Ipaddress]
Please note this mirror server services running under NT service\MSSQLSERVER
this is service account(domain account) but im not using this account to configure the morroring.
i have try to set up the DB mirroring using this account but still im getting the below error.( i have tested telnet servername 5022 its working fine on both principal and mirror server)
The server network address "TCP://com:5022" can not be reached or does not exist. Check the network address name and that the ports for the local and remote endpoints are operational. (Microsoft SQL Server, Error: 1418)
Please note both endpoints status are STARTED, both SQL Service are running on a different account (as i mentioned above), the same account has been granted CONNECT permission on both server. I already gave sysadmin server permission to the sql service account.
Please let me know your views/suggestions on this.
Did you try granting the permission to the user account and restart the service.
GRANT CONNECT ON ENDPOINT::endpoint TO [NT service\MSSQLSERVER] ;
If not you may need to try deleting and recreating the endpoints. This will sort out most of the issue.
http://www.sqlservercentral.com/Forums/Topic1194229-1549-1.aspx
Hi sqldba21,
Could you please check that if the login 'XXX\XXXXSQL$ and 'xxx\xxxSQL' exist in the SQL Server instances? Also make sure that you grant the users CONNECT permission on the endpoint as other post. You can grant the permission with the following
command.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [xxx\xxxSQL];
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [XXX\XXXXSQL$];
There is a similar thread for your reference.
https://social.msdn.microsoft.com/forums/sqlserver/en-US/1eb0da2d-a3a2-4fd1-b862-c04f3aee28e0/connection-handshake-failed
Thanks,
Lydia