cpdb icon indicating copy to clipboard operation
cpdb copied to clipboard

Ошибка при восстановление бекапа из сетевого диска

Open hawkxtreme opened this issue 3 years ago • 0 comments

Есть цепочка вызовов РаботаССУБД.ВыполнитьВосстановление() -> ПодключениеКСУБД.ВосстановитьИзРезервнойКопии() -> ПодключениеКСУБД.ПолучитьЛогическоеИмяФайлаВРезервнойКопии()

Если у скуля в функции ПолучитьЛогическоеИмяФайлаВРезервнойКопии() нет прав на файл или его физически нет, то возникнет следующая ошибка в SQL:

Сообщение 3201, уровень 16, состояние 2, строка 1
Cannot open backup device 'Путь к бекапу'. Operating system error 3(The system cannot find the path specified.).
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE FILELIST is terminating abnormally.

Это приведет к тому что запрос в РаботаССУБД.ВыполнитьВосстановление() будет некорректен. Переменные "ЛогическоеИмяФайлаДанных", "ЛогическоеИмяФайлаЖурнала" будут содержать строку как описано выше. Это приведет к ошибке следующего вида:

КРИТИЧНАЯОШИБКА - {Модуль C:\Program Files\OneScript\lib\cpdb\src\core\Классы\РаботаССУБД.os / Ошибка в строке: 226 / Ошибка восстановления базы "ИмяБазы" из резервной копии "Путь к бекапу":
{Модуль C:\Program Files\OneScript\lib\cpdb\src\core\Классы\РаботаССУБД.os / Ошибка в строке: 216 / Ошибка восстановления базы "ИмяБазы" из резервной копии "Путь к бекапу":
Сообщение 102, уровень 15, состояние 1, сервер DA1CM03\DVLP, строка 7
Incorrect syntax near 'МеткаСетевогоДиска:'.
Сообщение 132, уровень 15, состояние 1, сервер DA1CM03\DVLP, строка 14
The label 'МеткаСетевогоДиска' has already been declared. Label names must be unique within a query batch or stored procedure.
}
}       
             ВызватьИсключение ТекстОшибки;

hawkxtreme avatar May 24 '22 13:05 hawkxtreme