SQL镜像失败的设置

我有两个SQL服务器,我需要从一个镜像到另一个数据库。

应该直截了当,两台服务器没有见证。

  • 两台服务器都运行相同版本的MS SQL Std 2014
  • SQL服务都在相同的域帐户下运行
  • 域帐户是SQL Server操作系统上的本地pipe理员
  • 域帐户是SQL服务器上的系统pipe理员和公用angular色
  • 数据库已备份并从主数据库恢复到备用数据库,数据库在备用数据库上运行
  • 两个服务器上的文件夹path相同。 SQL实例安装在D:上
  • Windows防火墙(出于testing目的)有一个规则来解除阻塞两个服务器上双向的所有TCP端口。
  • 两个数据库都处于完全恢复模式,兼容级别为110(SQL Server 2012)

已经在t-sql的原理和辅助服务器上创build了镜像端点,如下所示:

CREATE ENDPOINT [Mirror] STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL ) FOR DATABASE_MIRRORING(ROLE = ALL, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = DISABLED) GO 

我试图改变以下开关

 ROLE = PARTNER ENCRYPTION = REQUIRED ALGORITHM RC4 

所有产生相同的结果。

原理服务器[CRM-2016-SQL-W]上的消息与此相同 SQL错误

被划掉的服务器地址是TCP:// CRM-2016-SQL-W:5022。 所以,主服务器抱怨说,它无法与本地镜像端点通信(据我所知)。

从所有位置(原则SQL /辅助SQL和networking上的其他位置)的Telnet都显示端口5022可以在两台服务器上访问。

如果删除端点端口5022拒绝连接。

我已经testing了两端7022端口,并得到相同的结果。

来自Secondary的SQL服务器日志显示:

 Database mirroring connection error 2 'Connection attempt failed with error: '10060(A connection attempt failed because the connected party did not properly respond after a period of time<c/> or established connection failed because connected host has failed to respond.)'.' for 'TCP://CRM-2016-SQL-W.ncp.co.uk:5022'. 

从主日志logging同时只显示:

 The database Mirroring endpoint has stopped listening for connections The database Mirroring endpoint is now listening for connections Service is listening on ['any' <ipv4>5022] Service is listening on ['any' <ipv6>5022] 

我已经按照这里覆盖的指示: https : //stackoverflow.com/questions/11032937/how-to-resolve-error-1418-in-sql-server-while-mirroring无济于事。

我已经把这一点工作留在了最后一分钟,因为我上次做这件事时没有遇到任何问题,现在我明天有可能会有一些尴尬的项目会议。 所有的想法赞赏。

你有没有看到是否创build了端点 使用这个查询: –

select * from sys.tcp_endpoints; 从sys.database_mirroring_endpointsselect*;

我刚刚发现在Windows 2016上使用SQL 2016我没有创build端点。 我不得不手动添加它们。