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

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

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

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

Траблшутинг падений заданий SQL Server Agent при резервном копировании

Обновлено: 26.08.2026 · Официальная документация ↗
  • Задание SQL Server Agent завершается со статусом Failed (код возврата 1).
  • В системном журнале MSDB фиксируются ошибки доступа: Operating system error 5 (Access is denied) при записи файла .bak.
  • Таймаут выполнения шага бэкапа и прерывание сессии процессами с высоким приоритетом или дедлоками.
  • В истории задания отображается ошибка The step did not succeed, Subsystem: TSQL.

1. Получение полной ошибки из системных таблиц msdb

SELECT 
    j.name AS JobName,
    h.step_id AS StepID,
    h.step_name AS StepName,
    h.message AS ErrorMessage,
    msdb.dbo.agent_datetime(h.run_date, h.run_time) AS ExecutionTime,
    h.run_duration AS DurationInSeconds
FROM msdb.dbo.sysjobs j
JOIN msdb.dbo.sysjobhistory h ON j.job_id = h.job_id
WHERE h.run_status = 0 -- 0 = Failed
ORDER BY h.instance_id DESC;

2. Проверка сервисной учетной записи и разрешений NTFS/SMB

Учетная запись, от имени которой запущен экземпляр SQL Server (или SQL Agent Proxy), должна обладать разрешениями Full Control или Modify + Write на сетевую папку бэкапов.

-- Проверка учетной записи службы через DMV
SELECT servicename, service_account, status_desc 
FROM sys.dm_server_services;

3. Проверка конфликтов с maintenance-планами и VSS бэкапами

Если параллельно отрабатывает snapshot-бэкап виртуализации (Veeam, Commvault) или реиндексация, LSN цепочка может нарушаться. Отключите overlapping расписания в sysschedules.

4. Включение расширенного логирования вывода шага (Job Step Output)

EXEC msdb.dbo.sp_update_jobstep
    @job_name = N'DatabaseBackup - USER_DATABASES - FULL',
    @step_id = 1,
    @output_file_name = N'C:\SQL_Logs\BackupJob_Step1_Output.log';
💡 Практика специалистов: Для критических баз 1С всегда переназначайте владельца всех заданий SQL Agent на системную учетную запись sa. Если владелец задания — доменный администратор, его увольнение или блокировка в AD мгновенно заблокирует запуск всех регулярных бэкапов.

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

Почему вручную бэкап в SSMS выполняется успешно, а через SQL Agent падает с ошибкой Access is Denied?

При ручном запуске в SSMS T-SQL запрос выполняется в контексте учетной записи службы SQL Server Engine. Если же задание Agent запускает PowerShell/CmdExec шаг или работает через Proxy, используются другие учетные данные, у которых может отсутствовать доступ к сетевой шаре.

Как увеличить таймаут ожидания выполнения шага задания?

В T-SQL шагах таймаут по умолчанию не ограничен (0), однако если задание вызывает внешний скрипт через sqlcmd или powershell, необходимо настроить флаг -t <секунды> в командной строке.

Где посмотреть логи самого SQL Server Agent, если задание даже не успело стартовать?

Файлы журнала агента расположены в каталоге логов инстанса: C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log\SQLAGENT.OUT.

Что делать, если задание падает с ошибкой 'The job failed. Unable to determine if the owner has server access'?

Смените владельца (owner) джобы на учетную запись 'sa' с помощью скрипта: EXEC msdb.dbo.sp_set_job_owner @job_name = 'Имя_Задания', @new_owner_name = 'sa'.

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