Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка Backup не прерывает выполнение скрипта  [new]
StanislawS
Member

Откуда: СПб
Сообщений: 16
Коллеги, подскажите, как в скрипте отловить ошибку создания бэкапа?

В скрипте есть команда создания бэкапа:

BACKUP
DATABASE @CurDB TO DISK = @BackupFileName
WITH COPY_ONLY, NOFORMAT, INIT,
NAME = N'Rmk - Full Database Backup',
SKIP, NOREWIND, NOUNLOAD

При неправильном указании пути в @BackupFileName выполнение скрипта не прерывается, включение команды в TRY...END TRY тоже не дает результата - ошибка не отлавливается...
@CurDB задано правильно.

Подскажите, плз, как отловить ошибку.

Сервер 2008 Express, модель восстановления базы - Simple.

Спасибо!
7 апр 14, 16:05    [15844616]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37139
И даже @@error не выставляется?
7 апр 14, 16:06    [15844621]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
StanislawS
Member

Откуда: СПб
Сообщений: 16
Гавриленко Сергей Алексеевич, спасибо, сейчас попробую...
7 апр 14, 16:17    [15844728]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
StanislawS
Member

Откуда: СПб
Сообщений: 16
Гавриленко Сергей Алексеевич,

вот что получается: файл бэкапа таки создается - в папке по умолчанию. Поэтому ошибки не возникает.

Конечно странно, что ошибки не возникает, т.к. мне бэкап нужен на съемном диске, а не в папке "по умолчанию".... ))
7 апр 14, 16:29    [15844842]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
StanislawS, а если проверить существование бэкапа в нужном месте после его создания?
7 апр 14, 16:30    [15844859]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37139
Похоже, все зависит от того, что написано @BackupFileName. Я написал сначала "123", и бэкап сделался (где - я так и не нашел пока). Написал "c:\123\123" и получил логичное:

Msg 3201, Level 16, State 1, Line 5
Cannot open backup device 'c:\123\123'. Operating system error 3(failed to retrieve text for this error. Reason: 15100).
Msg 3013, Level 16, State 1, Line 5
BACKUP DATABASE is terminating abnormally.
7 апр 14, 16:34    [15844895]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
StanislawS
Member

Откуда: СПб
Сообщений: 16
Гавриленко Сергей Алексеевич,

у меня в этой переменной было "\BackupRmk\BackupRmk.bak' и файл создавался в "системной" папке "Backup" SQL сервера..
7 апр 14, 16:57    [15845056]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
StanislawS
Member

Откуда: СПб
Сообщений: 16
Minamoto,к сожалению не подходит, т.к. файл каждый раз перезаписывается, т.к. он должен быть в папке так или иначе.
7 апр 14, 16:58    [15845061]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка Backup не прерывает выполнение скрипта  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
StanislawS
Гавриленко Сергей Алексеевич,

у меня в этой переменной было "\BackupRmk\BackupRmk.bak' и файл создавался в "системной" папке "Backup" SQL сервера..


У меня наивный вопрос - а куда вы хотите, чтобы он делался, если вы указываете ему относительный путь вместо абсолютного? Как SQL Server должен "угадать", на какой диск и в какую папку делать бэкап?
7 апр 14, 18:25    [15845534]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить