SQL Server mirroring refuses to work. Tearing my hair out

3

I'm trying to attempt what I thought would be a very simple process - the mirroring of a database between two MSSQL 2008 R2 servers within the same domain.

Both servers are configured similarly, and I have a database called 'archive' that I'd like to mirror. I took a full and log backup of the database on node 1 (principal) and restored this on node 2 with the WITH NORECOVERY option. The database shows up on node 2 (mirror) with (In Recovery) listed beside it in the GUI.

I start the Mirroring Wizard on the Principal server and configure the security. Both SQL processes on both are set to start up with the same Domain service account DOMAIN\SQLService and the DOMAIN\SQLService account exists as a Login on each server. Going through the steps to configure security, I select that I don't want a witness server (not yet, anyway) and it sets up the endpoints. Finally, when it asks what account I want to use to connect to each, I enter the DOMAIN\SQLService account.

The DOMAIN\SQLService is set as a local administrator of each node using a domain policy.

However, when I select 'Start mirroring', I receive the following error on Principal:

Database mirroring connection error 4 'An error occurred while receiving data: '64(failed to retrieve text for this error. Reason: 15105)'.' for 'TCP://node-b.fqdn.example.com:5022'.

and on mirror:

Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (8009030c) 0x8009030c(failed to retrieve text for this error. Reason: 15105). State 67.'.  [CLIENT: 10.13.111.31]

10.13.111.31 is node B.

After having read all the documentation, I've tried a number of things and always end up with this result. I thought this would be a fairly easy process for a fairly standard setup, but apparently it's difficult.

Any ideas what I'm doing wrong?

sql-server-2008-r2
database-mirroring
asked on Server Fault Apr 15, 2011 by growse

1 Answer

1

OK, after much sleep, checking, coffee and re-checking, I think I've found the solution.

DNS.

There were some stale A records in the DC's DNS server, which were causing Node-B to get rather confused about what pointed where. I fixed the DNS to reflect reality and hit 'go' and..... It worked! Well, actually it paused because I'd run out of disk space on Node-B, but other than that, all seems good.

answered on Server Fault Apr 18, 2011 by growse

User contributions licensed under CC BY-SA 3.0