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

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

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

MSSQL Error 3013: RESTORE DATABASE is terminating abnormally — Решение

Обновлено: 25.08.2026  ·  Официальная база знаний

Ошибка 3013 является универсальным кодом аварийного завершения операций RESTORE DATABASE, RESTORE LOG или BACKUP DATABASE. Она всегда сопровождается предшествующей первичной ошибкой (например, 3101, 3169, 3201 или 824).

  • Сообщение: RESTORE DATABASE is terminating abnormally (Severity 16, State 1).
  • Невозможность развернуть резервную копию базы данных 1С на тестовом или боевом контуре.
  • Прерывание регламентных задач обслуживания бэкапов в SQL Server Agent.
  • Зависание базы данных в промежуточном состоянии RESTORING....

1. Проверка заголовка и целостности файла бэкапа (RESTORE VERIFYONLY)

-- Проверка доступности и валидности резервной копии
RESTORE VERIFYONLY 
FROM DISK = N'D:\Backups\YourDatabase_Full.bak';

-- Чтение содержимого метаданных бэкапа
RESTORE HEADERONLY 
FROM DISK = N'D:\Backups\YourDatabase_Full.bak';

-- Просмотр логических имен файлов внутри бэкапа
RESTORE FILELISTONLY 
FROM DISK = N'D:\Backups\YourDatabase_Full.bak';

2. Корректный скрипт восстановления с переопределением путей (WITH MOVE)

Частая причина ошибки 3013 — несовпадение путей к файлам на исходном и целевом сервере:

RESTORE DATABASE [YourDatabaseName_Test]
FROM DISK = N'D:\Backups\YourDatabase_Full.bak'
WITH 
    MOVE N'YourDatabase_Data' TO N'E:\MSSQL\Data\YourDatabase_Test.mdf',
    MOVE N'YourDatabase_Log'  TO N'E:\MSSQL\Data\YourDatabase_Test.ldf',
    REPLACE,
    STATS = 10;

3. Принудительный сброс активных сессий перед Restore

USE [master];
GO
ALTER DATABASE [YourDatabaseName_Test] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
RESTORE DATABASE [YourDatabaseName_Test] 
FROM DISK = N'D:\Backups\YourDatabase_Full.bak' 
WITH REPLACE;
GO
ALTER DATABASE [YourDatabaseName_Test] SET MULTI_USER;
GO

4. Вывод базы из бесконечного статуса RESTORING

Если цепочка накатки бэкапов завершена, но база осталась в Restoring...:

RESTORE DATABASE [YourDatabaseName_Test] WITH RECOVERY;
Практический опыт инженера: Всегда проверяйте доступ учетной записи службы SQL Server к каталогу с резервными копиями (NT Service\MSSQLSERVER должна иметь права Read/Write на NTFS-уровне).

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

Почему ошибка 3013 не сообщает конкретную причину сбоя?

Ошибка 3013 — это общий флаг прерывания выполнения. Истинная причина всегда указана в строке непосредственно перед ней (например: 'Operating system error 5: Access denied' или 'Version mismatch').

Что делать, если RESTORE VERIFYONLY сообщает о битом файле?

Если бэкап был создан без WITH CHECKSUM и поврежден при сетевой передаче, перекачайте файл заново или воспользуйтесь предыдущей резервной копией.

Можно ли восстановить бэкап, если на целевом диске меньше места, чем на исходном сервере?

Файлы данных разворачиваются на полный зарезервированный размер (Allocated Size). Если на целевом диске физически меньше места, Restore упадет с ошибками 1105 и 3013.

Влияют ли сторонние программы резервного копирования (Veeam, Acronis) на ошибку 3013?

Да, если агент бэкапа выполняет снапшот базы без VSS интеграции (Non-Component Backup), это может повредить целостность заголовков.