2010-09-07 19 views

Trả lời

2

Vâng, bạn có thể truy vấn rằng bảng đăng nhập khổng lồ-ass với một cái gì đó như thế này:

--first, we identify the packages 
;with DetectedPackages as (
select source, s.executionid 
from dbo.sysssislog as s 
where event = 'PackageStart' 
group by source, s.executionid 
) 
--then we use those executionids to display results 
select * from dbo.sysssislog as s 
join DetectedPackages dp on s.executionid = dp.executionid 
where dp.source = 'PackageName' 

Và nếu bạn muốn để đóng gói tất cả các gói trong một cái nhìn, bây giờ bạn biết làm thế nào để làm điều đó.

+0

Wierd, trong bảng sysssislog của tôi, nguồn tham chiếu đến các tác vụ trong gói. Tôi không thể tìm thấy tên gói ở bất kỳ đâu trong bảng. – Greg

+1

Tên gói là cột nguồn trong hàng nơi sự kiện = 'PackageStart' Có thu thập thông tin đó bạn có thể tìm đến cột sourceId để lấy hướng dẫn của gói và lệnh executeid để tìm tất cả các hàng từ cùng một thực thi gói. –

1

Hãy xem bài viết sau trên Trung tâm máy chủ SQL, bạn có thể cần đăng ký nhưng hoàn toàn miễn phí để làm như vậy và bạn sẽ thấy trang web là tài nguyên máy chủ SQL tuyệt vời.

Bài viết chi tiết cách triển khai Nhà cung cấp nhật ký tùy chỉnh chuyển hướng đầu ra nhật ký SSIS sang bảng khác. Sử dụng triển khai này làm khung làm việc của bạn, bạn có thể mở rộng nó để đáp ứng các yêu cầu của bạn.

SSIS Custom Logging the Easy Way

+0

FYI: Vì một số lý do mà SSC mất liên kết đó hoặc đã đăng bài đăng trên blog xuống. Tôi đã cố gắng tìm kiếm SSC cho nó nhưng không thể đi qua nó. –

+0

@ShawnMelton đã bị xóa. Đó là một bài viết hay của Michael Coles. Nó có thể được xuất bản trong một trong những cuốn sách của ông bây giờ. –

5

câu trả lời nhanh cũng giống như câu trả lời John Sansom của: Khi đăng nhập được sử dụng, nó tạo ra một bảng và một proc lưu trữ (tên khác nhau với phiên bản từ năm 2005 đến 2008) Các proc lưu trữ có thể được sửa đổi để làm bất cứ điều gì bạn muốn. Nếu proc được lưu trữ được loại bỏ Sql server tái tạo nó, nhưng nếu proc được lưu trữ là có, Sql server giả định nó là OK và để nó một mình. Điều này cho phép bạn chỉnh sửa proc được lưu trữ để ghi vào bất kỳ bảng/bảng nào bạn muốn.

+0

Tôi không chắc chắn nếu câu trả lời của bạn hoặc Sansom sẽ làm việc. Không có gì đến từ SSIS vào sp_dts_addlogentry cho tôi biết gói nào đang chạy vì vậy tôi sẽ không thể gửi thông tin nhật ký từ các gói khác nhau đến các bảng khác nhau. Hay tôi nhầm? – Greg

+0

Tên proc trong năm 2008 là SP_SSIS_ADDLOGENTRY. Giá trị của cột SourceID trong đó event = 'Package Start' là GUID của Package. –

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