SQL Mirror 安装失败

SQL Mirror 安装失败

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

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

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

已使用 T-sql 在主服务器和辅助服务器上创建镜像端点,如下所示:

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 和网络上的其他地方)进行的 Telnet 均显示两个服务器上的端口 5022 均可访问。

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

我已经在两端的端口 7022 上进行了测试并得到了相同的结果。

辅助服务器的 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'.

来自主服务器的日志同时仅显示:

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无济于事。

我把这项工作留到最后一分钟,因为上次做的时候没有遇到任何问题,但现在我明天的项目会议可能会有点尴尬!非常感谢大家的想法。

答案1

您是否看到端点是否已创建。使用此查询:-

从 sys.tcp_endpoints 中选择*;从 sys.database_mirroring_endpoints 中选择*;

我刚刚发现在 Windows 2016 上使用 SQL 2016 时我无法创建端点。我必须手动添加它们。

相关内容