Câu hỏi rất ngắn và thẳng: Tôi muốn bắt lỗi bằng cách sử dụng try..catch và đăng nhập vào tệp. Điều này có thể thực hiện được trong SQL Server 2008 không?Lỗi đăng nhập vào SQL Server 2008
Mọi chỉ đường, trợ giúp đều được chào đón.
Câu hỏi rất ngắn và thẳng: Tôi muốn bắt lỗi bằng cách sử dụng try..catch và đăng nhập vào tệp. Điều này có thể thực hiện được trong SQL Server 2008 không?Lỗi đăng nhập vào SQL Server 2008
Mọi chỉ đường, trợ giúp đều được chào đón.
Xem nhật ký lỗi SQL Server bằng cách sử dụng SQL Server Management Studio hoặc bất kỳ trình soạn thảo văn bản nào.
Theo mặc định, nhật ký lỗi được đặt tại Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG
và ERRORLOG.n
tệp.
Đi qua Viewing the SQL Server Error Log trang
Vâng, bạn có thể.
Chỉ cần triển khai thử như được mô tả ở đây TRY...CATCH. Lỗi ghi nhật ký có thể được ghi lại trong ứng dụng hoặc bằng sql bằng cách ghi lỗi vào bảng.
Nếu bạn muốn đăng nhập vào một tệp, bạn có thể làm điều đó bằng cách sử dụng SQLCLR. Đánh dấu vào câu trả lời ở đây
Như vậy là một số câu hỏi tương tự, bạn có thể kiểm tra.
Logging into table in SQL Server trigger
Best Practices - Stored Procedure Logging
phương pháp khác là sử dụng Log4Sql
Như thế này, chứ không phải chính xác để nộp, nhưng để eventlog, tôi nghĩ rằng văn bản cho tập tin là chỉ có thể với thủ tục 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
Msg 102, Cấp 15, Tiểu bang 1, Dòng 2 Cú pháp không chính xác gần 'Do'. Msg 102, Level 15, State 1, Line 8 Cú pháp không chính xác gần 'error_message'. – Steam
@blasto Đã sửa, nhưng nó rất rõ ràng. Phải không? –
Làm thế nào điều này sẽ làm việc với một ROLLBACK trong Bắt đầu Catch? –
Tại sao lưu ý lại? Câu trả lời duy nhất, mang lại một ví dụ về cách viết vào một tệp bằng sqlclr. – hgulyan
Xin lỗi, bỏ lỡ 8-) +1 –