SSIS dường như nhấn mạnh vào việc đăng nhập vào bảng hệ thống SYSSSISLOG. Có cách nào để làm cho nó sử dụng một bảng khác?SSIS - Đăng nhập vào bảng khác với SYSSSISLOG
Tôi muốn mỗi gói đăng nhập vào một bảng khác.
SSIS dường như nhấn mạnh vào việc đăng nhập vào bảng hệ thống SYSSSISLOG. Có cách nào để làm cho nó sử dụng một bảng khác?SSIS - Đăng nhập vào bảng khác với SYSSSISLOG
Tôi muốn mỗi gói đăng nhập vào một bảng khác.
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 đó.
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.
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ó. –
@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ờ. –
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.
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
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. –
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
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. –