我有两个SQL服务器,我需要从一个镜像到另一个数据库。
应该直截了当,两台服务器没有见证。
已经在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]上的消息与此相同
被划掉的服务器地址是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端点。 我不得不手动添加它们。