MSSQL Error 35273: Connection between primary and secondary closed — Решение
- Ошибка в Errorlog:
The connection between the primary and secondary replicas has been closed. Availability Group ID: '...'. - Базы данных на вторичной реплике переходят в состояние
Not Synchronizing. - В логах фиксируются ошибки рукопожатия эндпоинтов:
Database Mirroring login attempt failed with error: 'Connection handshake failed'.
1. Проверка состояния системных эндпоинтов Always On
-- Проверка статуса и портов эндпоинтов на обеих репликах
SELECT
name,
endpoint_id,
state_desc,
port,
is_encryption_enabled,
connection_auth_desc
FROM sys.database_mirroring_endpoints;2. Перезапуск и проверка разрешений эндпоинта
Если эндпоинт находится в состоянии STOPPED, запустите его:
ALTER ENDPOINT [Hadr_endpoint] STATE = STARTED;
-- Проверка и предоставление прав подключения для сервисной учетной записи
GRANT CONNECT ON ENDPOINT::[Hadr_endpoint] TO [DOMAIN\sqlservice];3. Проверка доступности порта (по умолчанию TCP 5022) через PowerShell
Test-NetConnection -ComputerName "SQL-NODE-02" -Port 5022
Test-NetConnection -ComputerName "SQL-NODE-01" -Port 50224. Проверка срока действия сертификатов (при авторизации по сертификатам)
SELECT
name,
start_date,
expiry_date
FROM sys.certificates
WHERE name LIKE '%hadr%' OR name LIKE '%mirroring%'; Частые вопросы (FAQ)
Какой порт по умолчанию использует Always On для передачи данных между репликами?
По умолчанию используется TCP порт 5022 (или порт, указанный при создании DATABASE MIRRORING ENDPOINT).
Почему соединение закрывается сразу после установления?
Чаще всего причина заключается в несовпадении алгоритмов шифрования (AES/RC4), блокировке портов фаерволом или отсутствии прав CONNECT у сервисной учетной записи SQL Server.
Влияет ли смена пароля сервисной учетной записи на ошибку 35273?
Да, при смене пароля или SPN (Service Principal Name) аутентификация Kerberos между узлами может нарушиться, приводя к разрыву сессии эндпоинтов.
Как перезапустить синхронизацию после восстановления связи?
Выполните на вторичной реплике: ALTER DATABASE [ИмяБазы1С] SET HADR RESUME;