Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37139 |
И даже @@error не выставляется? |
7 апр 14, 16:06 [15844621] Ответить | Цитировать Сообщить модератору |
StanislawS Member Откуда: СПб Сообщений: 16 |
Гавриленко Сергей Алексеевич, спасибо, сейчас попробую... |
7 апр 14, 16:17 [15844728] Ответить | Цитировать Сообщить модератору |
StanislawS Member Откуда: СПб Сообщений: 16 |
Гавриленко Сергей Алексеевич, вот что получается: файл бэкапа таки создается - в папке по умолчанию. Поэтому ошибки не возникает. Конечно странно, что ошибки не возникает, т.к. мне бэкап нужен на съемном диске, а не в папке "по умолчанию".... )) |
7 апр 14, 16:29 [15844842] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
StanislawS, а если проверить существование бэкапа в нужном месте после его создания? |
7 апр 14, 16:30 [15844859] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич 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] Ответить | Цитировать Сообщить модератору |
StanislawS Member Откуда: СПб Сообщений: 16 |
Гавриленко Сергей Алексеевич, у меня в этой переменной было "\BackupRmk\BackupRmk.bak' и файл создавался в "системной" папке "Backup" SQL сервера.. |
7 апр 14, 16:57 [15845056] Ответить | Цитировать Сообщить модератору |
StanislawS Member Откуда: СПб Сообщений: 16 |
Minamoto,к сожалению не подходит, т.к. файл каждый раз перезаписывается, т.к. он должен быть в папке так или иначе. |
7 апр 14, 16:58 [15845061] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
У меня наивный вопрос - а куда вы хотите, чтобы он делался, если вы указываете ему относительный путь вместо абсолютного? Как SQL Server должен "угадать", на какой диск и в какую папку делать бэкап? |
||
7 апр 14, 18:25 [15845534] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |