MSSQL Error 3013: RESTORE DATABASE is terminating abnormally — Решение
Ошибка 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;
GO4. Вывод базы из бесконечного статуса RESTORING
Если цепочка накатки бэкапов завершена, но база осталась в Restoring...:
RESTORE DATABASE [YourDatabaseName_Test] WITH RECOVERY; Частые вопросы (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), это может повредить целостность заголовков.