Troubleshooting Database Mirroring Error 1418
Error 1418 is a common, hard-to-troubleshoot error. It is so common that it has been given its own page dedicated to the error in Books Online: MSSQLSERVER_1418. Unfortunately, that page only lists a few troubleshooting steps. Over the years, I’ve compiled a longer list of troubleshooting steps for this error. I’ve encountered every one of these issues at some point.
The server network address “%.*ls” 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.
- Verify service accounts
- SQL Server service account requires CONNECT permissions to partners’ endpoints
- Best option is to use domain accounts for all partners
- If using Local Service or Local System, must use certificate authentication
- Ensure that the start date of the certificate is the current date or a day in the past relative to all servers. Due to time zone differences, if the current date on the server is earlier than the start date of the certificate, endpoint authentication will fail. Set the START_DATE option of the certificate to the day prior to when you are creating it to ensure it will work in all time zones.
- If using Network Service, must use the computer account (domainComputer$)
- Windows permissions are irrelevant. Do NOT add to local admins group
- Check the SQL log for errors
- Verify ports
- Use Telnet to test that the port is open and something is listening
- Good for verifying that port not blocked by firewall
- Does not verify that SQL Server is the process on the other end
- Use the netstat command to determine that the SQL instance is listening on that port
- Get the process ID of the instance using SERVERPROPERTY(‘processid’)
- On Windows Server 2003 SP1+: netstat -abn
- On Windows Server 2003 pre-SP1: netstat -ano
- Verify the process ID if there is more than 1 instance on the server
- Confirm that there are no other SQL instances on the server
- If other instances, check for mirroring endpoints
- If other mirroring endpoints, make sure they are using different ports and/or IP addresses
- IP address and port must be a unique combination
- Make sure firewall is not blocking the port
- Make sure firewall is allowing traffic both directions
- Use Telnet to test that the port is open and something is listening
- Verify all instances can access every other partner
- Ping each partner from each of the other partners
- Perform a tracert to each partner from each of the other partners
- If ping or tracert fails double check the ports (see above)
- Verify that the IP address the names resolve to are the correct IP addresses (don’t trust them)
- Verify that you are using the fully qualified domain name
- Do not use IP address, there are bugs with this
- Do not use just server name
- Verify endpoints
- Make sure all endpoints are started
- Use sys.database_mirroring_endpoints
- Ensure that all endpoints are using the same encryption algorithm
- Use sys.database_mirroring_endpoints
- Ensure that the OS supports the chosen encryption algorithm on all partners
- Windows 2000 does not support the default encryption algorithm (RC4)
- Make sure the queue for the endpoint is running
- Queue can be stopped by too many failures
- Drop and recreate the endpoint to start the queue
- Make sure all endpoints are started
Troubleshooting Database Mirroring Error 1418
[…] to the error in Books Online: MSSQLSERVER_1418. Unfortunately, that page only lists a few… [full post] SQLSoldier SQLSoldier sql serverdatabase mirroringtroubleshooting 0 0 […]
@SQLSoldier posts Troubleshooting Database Mirroring Error 1418 | sqlmashup
[…] @SQLSoldier posts Troubleshooting Database Mirroring Error 1418 Posted on February 4, 2011 by sqlmashup http://www.sqlsoldier.com/wp/sqlserver/troubleshooting-atabasemirroringerror1418 […]
Troubleshooting Database Mirroring Error 1418 Updated | SQLSoldier
[…] master post for troubleshooting database mirroring error 1418 to show this problem as well. (No Ratings Yet) Loading … 0 Comments – Leave a comment! […]
Mike Wang
I met this issue before, all the validation can pass.
Use a new endpoint at last, it works.
The root cause is 5022 may block other session.
SQLSoldier
Thanks for sharing, Mike!