Ведение журнала ошибок в SQL Server 2008 - PullRequest
7 голосов
/ 16 января 2012

Очень короткий и прямой вопрос: я хочу поймать ошибку, используя try..catch и записать ее в файл . Возможно ли это в SQL Server 2008?

Любые указания, помощь приветствуется.

Ответы [ 3 ]

8 голосов
/ 16 января 2012

Да, вы можете.

Просто выполните попытку catch, как описано здесь TRY ... CATCH . Ведение журнала ошибок может быть зарегистрировано либо в приложении, либо в sql путем записи ошибок в таблицу.

Если вы хотите войти в файл, вы можете сделать это с помощью SQLCLR. Проверьте ответ здесь

Как войти в T-SQL

Есть несколько похожих вопросов, которые вы можете проверить.

Вход в таблицу в триггере SQL Server

Рекомендации - ведение журнала хранимых процедур

Другой подход заключается в использовании Log4Sql

1 голос
/ 16 января 2012

Просмотр журнала ошибок SQL Server с помощью SQL Server Management Studio или любого текстового редактора.

По умолчанию журнал ошибок располагается в файлах Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG и ERRORLOG.n.

Просмотр Просмотр журнала ошибок SQL Server страница

0 голосов
/ 16 января 2012

Таким образом, не в файл, а в журнал событий, я думаю, что запись в файл возможна только с помощью процедуры CLR:

BEGIN TRY
  Do some error
END TRY
Begin CATCh
  Declare @error nvarchar(max) = error_message()+' your data'
  exec master..xp_logevent 50001, @error, 'error'
  --Notify host application
   RAISERROR(@error, 16, 1) 
END CATCH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...