Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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