Database Mirroring login attempt failed with error: 'Connection handshake failed. There is no compatible authentication protocol. State 21
查看镜像验证方式
select connection_auth,connection_auth_desc,* from sys.database_mirroring_endpoints
字段"connection_auth_desc" 显示是连接验证模式,如果与原节点模式不一致:
解决方案:
先删除
DROP ENDPOINT Endpoint_Mirroring
再添加
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5023
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE Cert_db00
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = ALL
);
GO
参考资料:数据库镜像 - 使用证书进行出站连接 - SQL Server Database Mirroring | Microsoft Learn