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
- If using Network Service, must use the computer account
(domain\Computer$)
- 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
- 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
No comments:
Post a Comment