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

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

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

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

Траблшутинг ошибок Log Shipping: сбои заданий Copy Job и Restore Job

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

Сбои репликации доставки журналов приводят к накоплению отставания резервной базы:

  • Ошибки в истории заданий: The log shipping secondary database has not been restored for XX minutes (Error 14420 / 14421);
  • Задание LSCopy падает с ошибкой Access to the path is denied или The network name cannot be found;
  • Задание LSRestore падает с ошибкой The file is too recent to apply to the database или рассинхронизацией цепочки LSN.

1. Проверка общего статуса Log Shipping через системный отчет

EXEC msdb.dbo.sp_help_log_shipping_monitor;

Анализ полей delta_threshold и last_restored_latency показывает фактическое отставание в минутах.

2. Решение ошибки 'Access Denied' в Copy Job

Учетная запись, под которой работает служба SQL Server Agent на Secondary сервере, должна иметь права Read/Write на сетевую папку бэкапов первичного сервера:

-- Проверка доступности сетевой шары из-под инстанса через xp_cmdshell (для тестов)
EXEC xp_cmdshell 'dir \\primary-server\LogShippingBackup';

3. Устранение рассинхронизации цепочки LSN (Restore Job Failure)

Если цепочка прервана (кто-то сделал ручной бэкап без COPY_ONLY):

  1. Откройте таблицу истории восстановления на Secondary:
SELECT TOP 10 * FROM msdb.dbo.restorehistory 
WHERE destination_database_name = 'ERP_1C' 
ORDER BY restore_date DESC;
  1. Найдите последний успешно примененный LSN (поле stop_lsn);
  2. Вручную скопируйте недостающие файлы .trn с первичного сервера и накатите их с параметром NORECOVERY.

4. Исправление заблокированных файлов в режиме STANDBY

Если Restore Job падает из-за того, что пользователи читают отчеты, включите принудительный сброс соединений:

EXEC msdb.dbo.sp_change_log_shipping_secondary_database
    @secondary_database = N'ERP_1C',
    @disconnect_users = 1;
💡 Практика специалистов: Частая причина падения Copy Job — смена пароля сервисной учетной записи SQL Agent в Active Directory. Всегда используйте Group Managed Service Accounts (gMSA) для служб SQL Server.

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

Что делать, если ошибка 14420 продолжает появляться при работающем Log Shipping?

Проверьте Alert Job на сервере-мониторе. Часто рассинхронизация часовых поясов или сбой системного времени между серверами приводит к ложному расчету задержки порога порождаемых предупреждений.

Почему файлы логов накапливаются на secondary сервере и не удаляются?

За удаление старых файлов отвечает параметр @retention_period в свойствах Copy/Restore заданий. Проверьте историю шага 'Delete old files' внутри задания LSRestore.

Как переинициализировать Log Shipping без создания нового тяжелого Full бэкапа?

Сделайте свежий Differential бэкап на Primary, скопируйте его, восстановите на Secondary с WITH NORECOVERY, после чего перезапустите стандартные джобы Copy/Restore.

Почему Restore Job выдает ошибку 'Too many open files'?

Если вторичный сервер долго простаивал, в папке накопились тысячи файлов .trn. Настройте расписание джоба на обработку файлов небольшими пачками или накатите их пакетным скриптом PowerShell.

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