Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сформировать сообщение об ошибке / 4 сообщений из 4, страница 1 из 1
21.04.2021, 18:14
    #40064533
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сообщение об ошибке
Следующий код

Код: sql
1.
2.
3.
RESTORE DATABASE [MyDB_20210421] FROM DISK = N'Z:\Backup\MyDB.bak' WITH FILE = 1,
	MOVE N'MyDB' TO N'E:\Data\MyDB_20210421.mdf',
	MOVE N'My_log' TO N'E:\Logs\MyDB_20210421_log.LDF', NOUNLOAD, REPLACE, STATS = 5



В SSMS выводит следующую ошибку

авторMsg 3234, Level 16, State 2, Line 21
Logical file 'My_log' is not part of database 'MyDB_20210421'. Use RESTORE FILELISTONLY to list the logical file names.
Msg 3013, Level 16, State 1, Line 21
RESTORE DATABASE is terminating abnormally.


Тут ошибка понятна, по ней вопросов нет - логические имена файлов действительно другие.

Теперь пытаюсь сделать:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
BEGIN TRY
	RESTORE DATABASE [MyDB_20210421] FROM DISK = N'Z:\Backup\MyDB.bak' WITH FILE = 1,
	MOVE N'MyDB' TO N'E:\Data\MyDB_20210421.mdf',
	MOVE N'My_log' TO N'E:\Logs\MyDB_20210421_log.LDF', NOUNLOAD, REPLACE, STATS = 5
END TRY
BEGIN CATCH
	PRINT ERROR_MESSAGE() 
END CATCH



Но на выходе получаю лишь:

авторRESTORE DATABASE is terminating abnormally.

Вопрос - как получить более полное описание, так как оно выводится в SSMS?
...
Рейтинг: 0 / 0
21.04.2021, 18:26
    #40064537
godsql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сообщение об ошибке
а если вместо "Print ... " поставить "Throw;" ?
...
Рейтинг: 0 / 0
21.04.2021, 18:28
    #40064538
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сформировать сообщение об ошибке
"Двухуровневые" егоги на стороне сервера все еще не ловятся.
Только на стороне клиента. Ну, можно clr-обвязку написать и там все выловить.
...
Рейтинг: 0 / 0
21.04.2021, 20:45
    #40064560
Сформировать сообщение об ошибке
AndrF
Следующий код

Код: sql
1.
2.
3.
RESTORE DATABASE [MyDB_20210421] FROM DISK = N'Z:\Backup\MyDB.bak' WITH FILE = 1,
	MOVE N'MyDB' TO N'E:\Data\MyDB_20210421.mdf',
	MOVE N'My_log' TO N'E:\Logs\MyDB_20210421_log.LDF', NOUNLOAD, REPLACE, STATS = 5



В SSMS выводит следующую ошибку

авторMsg 3234, Level 16, State 2, Line 21
Logical file 'My_log' is not part of database 'MyDB_20210421'. Use RESTORE FILELISTONLY to list the logical file names.
Msg 3013, Level 16, State 1, Line 21
RESTORE DATABASE is terminating abnormally.


Тут ошибка понятна, по ней вопросов нет - логические имена файлов действительно другие.

Теперь пытаюсь сделать:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
BEGIN TRY
	RESTORE DATABASE [MyDB_20210421] FROM DISK = N'Z:\Backup\MyDB.bak' WITH FILE = 1,
	MOVE N'MyDB' TO N'E:\Data\MyDB_20210421.mdf',
	MOVE N'My_log' TO N'E:\Logs\MyDB_20210421_log.LDF', NOUNLOAD, REPLACE, STATS = 5
END TRY
BEGIN CATCH
	PRINT ERROR_MESSAGE() 
END CATCH



Но на выходе получаю лишь:

авторRESTORE DATABASE is terminating abnormally.

Вопрос - как получить более полное описание, так как оно выводится в SSMS?Подробности средствами T-SQL можно получить только по самой последней ошибке.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сформировать сообщение об ошибке / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]