2012-01-16 3 views

ответ

1

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

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

Пройтись Viewing the SQL Server Error Log страницы

8

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

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

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

How to log in T-SQL

Там уже некоторые подобные вопросы, вы можете проверить.

Logging into table in SQL Server trigger

Best Practices - Stored Procedure Logging

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

+0

Почему downvote? Единственный ответ, который приводит пример записи в файл с использованием sqlclr. – hgulyan

+1

Извините, пропущено 8-) +1 –

0

Подобно этому, точно не в файл, а журнал событий, я думаю, что писать в файл можно только с процедурой 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 
+0

Msg 102, Level 15, State 1, Line 2 Неверный синтаксис рядом с «Do». Msg 102, Level 15, State 1, Line 8 Неверный синтаксис около 'error_message'. – Steam

+0

@blasto Исправлено, но это очевидно. Не так ли? –

+0

Как это будет работать с ROLLBACK в Begin Catch? –

Смежные вопросы