Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_MIRRORING_SETUP 1С:Предприятие и СУБД

Настройка зеркалирования баз данных (Database Mirroring) в MSSQL

Обновлено: 26.08.2026 · Официальная документация ↗

Необходимость построения отказоустойчивого кластера СУБД без использования дорогостоящих общих хранилищ SAN (Shared Storage):

  • Риск простоя предприятия при физическом выходе из строя основного сервера БД;
  • Ошибка The server network address cannot be reached or does not exist (Error 1418) при настройке эндпоинтов зеркалирования;
  • Зависание базы в состоянии 'Synchronizing / In Recovery' на стороне зеркала.

1. Подготовка базы на основном сервере (Principal) и зеркале (Mirror)

Шаг 1: База должна быть в модели FULL. Создайте свежий Full и Log бэкап:

BACKUP DATABASE [ERP_1C] TO DISK = N'E:\Backup\ERP_1C_Mirror.bak' WITH FORMAT, CHECKSUM;
BACKUP LOG [ERP_1C] TO DISK = N'E:\Backup\ERP_1C_Mirror.trn' WITH FORMAT, CHECKSUM;

Шаг 2: Восстановите копии на сервере-зеркале с обязательным параметром NORECOVERY:

RESTORE DATABASE [ERP_1C] FROM DISK = N'E:\Backup\ERP_1C_Mirror.bak' WITH NORECOVERY;
RESTORE LOG [ERP_1C] FROM DISK = N'E:\Backup\ERP_1C_Mirror.trn' WITH NORECOVERY;

2. Настройка сетевых конечных точек (Endpoints)

Выполните на обоих серверах (Principal и Mirror):

CREATE ENDPOINT [MirroringEndpoint]
STATE = STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING (
    ROLE = ALL,
    AUTHENTICATION = WINDOWS NEGOTIATE,
    ENCRYPTION = REQUIRED ALGORITHM AES
);
GO

3. Инициализация партнерства зеркалирования

Сначала выполните команду на сервере-зеркале (Mirror):

ALTER DATABASE [ERP_1C] 
SET PARTNER = N'TCP://principal.corp.local:5022';
GO

Затем на основном сервере (Principal):

ALTER DATABASE [ERP_1C] 
SET PARTNER = N'TCP://mirror.corp.local:5022';
GO

4. Настройка режима высокой безопасности (High Safety с авто-Failover)

-- Включение синхронного режима
ALTER DATABASE [ERP_1C] SET SAFETY FULL;

-- Подключение сервера-свидетеля (Witness)
ALTER DATABASE [ERP_1C] SET WITNESS = N'TCP://witness.corp.local:5022';
GO
💡 Практика специалистов: Для корректной работы 1С:Предприятие при зеркалировании пропишите адрес зеркала в строке подключения кластера 1С (параметр FailoverPartner=mirror.corp.local), чтобы клиенты переключались автоматически.

Частые вопросы (FAQ)

Как исправить ошибку 1418 при запуске зеркалирования?

Ошибка 1418 означает сетевую недоступность эндпоинта. Проверьте: открыт ли TCP порт 5022 в Windows Firewall на обоих серверах, запущен ли Endpoint (SELECT state_desc FROM sys.database_mirroring_endpoints), и совпадают ли права учетных записей служб SQL Server в Active Directory.

В чем разница между High Safety и High Performance режимами?

High Safety (SAFETY FULL) — синхронный режим, гарантирующий нулевую потерю данных (транзакция фиксируется только после записи в лог зеркала). High Performance (SAFETY OFF) — асинхронный режим с минимальной задержкой, но с риском потери последних транзакций при сбое.

Как выполнить ручной переход на зеркало (Manual Failover)?

На основном сервере выполните: ALTER DATABASE [ERP_1C] SET PARTNER FAILOVER; Роли серверов мгновенно поменяются местами.

Устарела ли технология Database Mirroring?

Microsoft пометила Database Mirroring как Deprecated в пользу AlwaysOn Availability Groups, однако зеркалирование по-прежнему полноценно поддерживается вплоть до SQL Server 2022 в редакции Standard, где AlwaysOn ограничен одной базой (Basic AG).

Полезные материалы
Рекомендуем