2011-04-24 33 views
7

Tôi đang làm việc trên SQL 2008 - Gói SSIS. Tôi đang thực thi gói từ mã C#. Tệp Phẳng đơn giản (.csv) thành Bảng SQL.Làm cách nào để tạo nhật ký lỗi hoặc nhật ký lỗi tùy chỉnh trong Gói SSIS?

Từ mã C#, tôi nhận được kết quả thực hiện là SUCCESS nhưng bên trong gói Giao dịch chưa được thực hiện, do đó giá trị không thực sự được xuất.

Tôi cần gỡ lỗi bằng cách đọc tệp nhật ký.

Cách tạo Nhật ký lỗi hoặc Tệp nhật ký bên trong Gói?

Trả lời

2

Rất dễ dàng để ghi lại lỗi trong SSIS. Chuyển đến tab Trình xử lý sự kiện, chọn OnError từ trình đơn thả xuống. Bây giờ ở đây bạn có thể gửi email trên bất kỳ lỗi nào hoặc bạn có thể phát triển logic tùy chỉnh của riêng bạn để đăng nhập lỗi vào DB hoặc ghi vào tệp văn bản.

Ngoài ra, bạn có thể chọn từ cơ chế ghi nhật ký hiện có sẵn trong SSIS. Click vào menu "SSIS", bạn sẽ thấy tùy chọn đầu tiên là Logging sau đó bạn sẽ thấy các tùy chọn khác nhau để đăng nhập lỗi/cảnh báo và toàn bộ rất nhiều thông tin bạn cần.

20

Đây là một cách để định cấu hình tính năng ghi nhật ký trong SSIS. Trong ví dụ này, tôi đã gửi tác vụ thư được cấu hình để không thành công và tôi đã bật ghi nhật ký dựa trên SQL Server sẽ lưu trữ các thông báo OnErrorOnTaskFailed khi gói không thành công. Có những sự kiện khác mà bạn có thể quan tâm. Trong các dự án mà tôi đã làm việc, hai nhiệm vụ này đã giúp tôi xác định hầu hết các vấn đề xảy ra trong các gói SSIS.

Step-by-step quá trình:

  1. gói SSIS trong ví dụ này chứa một tác nhân Gửi Mail cấu hình như trong ảnh chụp màn hình # 1 . Nó được cấu hình để thất bại vì vậy chúng ta có thể thấy một số thông báo lỗi trong bảng đăng nhập.
  2. Nhấp vào gói SSIS.
  3. Trên các menu, chọn SSIS -> Nhật ký ... Tham khảo ảnh chụp màn hình # .
  4. Trên hộp thoại Định cấu hình nhật ký SSIS: chọn loại nhà cung cấp và nhấp vào Thêm. Tôi đã chọn SQL Server cho ví dụ này. Chọn hộp kiểm Name và cung cấp nguồn dữ liệu theo cột Configuration. Ở đây SQLServer là tên của trình quản lý kết nối. SSIS sẽ tạo một bảng có tên là dbo.sysssislog và thủ tục được lưu trữ dbo.sp_ssis_addlogentry trong cơ sở dữ liệu mà bạn đã chọn. Tham khảo ảnh chụp màn hình # bên dưới.
  5. Nếu bạn cần chụp các lỗi, hãy chọn hộp kiểm OnErrorOnTaskFailed. Tham khảo ảnh chụp màn hình # bên dưới.
  6. Thực hiện gói mẫu trong tác vụ luồng dữ liệu được hiển thị trong ảnh chụp màn hình # bên dưới.
  7. Đầu ra mẫu của bảng nhật ký dbo.sysssislog được hiển thị trong ảnh chụp màn hình # bên dưới. Tôi chỉ hiển thị một vài cột id, event, sourcemessage. Có các cột khác trong bảng. Cột tin nhắn chứa thông báo lỗi, ở đây trong trường hợp này tên máy chủ được đề cập trong Công việc Gửi Thư là sai.Cột nguồn chứa tác vụ không thành công. Trong trường hợp này, tên gói là SSISLoggingExample và Gửi tác vụ thư có tên là Email Task. Thông báo lỗi sẽ phát sinh từ nhiệm vụ đến cấp gói. Do đó, thông báo lỗi được ghi lại hai lần theo nhiệm vụ cũng như ở cấp gói.

Hy vọng điều đó sẽ hữu ích.

Ảnh chụp màn hình # 1:

1

Ảnh chụp màn hình # 2:

2

Ảnh chụp màn hình # 3:

3

Ảnh chụp màn hình # 4:

4

Ảnh chụp màn hình # 5:

5

Ảnh chụp màn hình # 6:

6

Các vấn đề liên quan