Bật TF610 trong SSIS


7

Tôi có một gói SSIS đơn giản tải một tệp giả có chứa 100000 hàng. Mỗi hàng dài khoảng 4k, một cột int và một cột văn bản dài. Tôi đang thử kiểm tra TF610 khi tải dữ liệu này vào một bảng có chỉ mục được nhóm.

Trong gói SSIS của tôi, Luồng điều khiển của tôi có tác vụ SQL thực thi để kích hoạt TF610, sau đó, thành công, hãy chuyển đến Nhiệm vụ luồng dữ liệu của tôi để tải tệp phẳng vào bảng. Cả SQL đích thực thi và OLE DB đều sử dụng cùng một kết nối.

Gói SSIS

Nếu tôi bắt đầu một hồ sơ trong khi chạy gói SSIS và xem các lệnh, tôi có thể thấy DBCC TRACEON (610) được thực thi sau đó các hoạt động INSERT BULK bắt đầu kích hoạt. Cả hai đều sử dụng cùng một PID, vì vậy tôi giả sử đó là cùng một phiên.

Hồ sơ

Khi tôi kiểm tra độ dài bản ghi nhật ký, phần chèn KHÔNG được ghi lại tối thiểu.

Nếu tôi kích hoạt TF610 trên toàn cầu và chạy cùng gói SSIS mặc dù giao dịch được ghi lại tối thiểu.

Tôi phải làm gì đó sai khi bật TF610 trong gói SSIS của mình nhưng tôi không thể hiểu được ...

Câu trả lời:


7

Và như vậy để buộc cùng một phiên được sử dụng, trong quản lý kết nối của bạn, dưới sự thiết lập Properties, bạn có thể thiết lập RetainSameConnectionđể Truebuộc một kết nối duy nhất cho gói của bạn so với sử dụng hồ bơi.

Giữ lại kết nối


1
+1 đẹp. Tôi hầu như không thể đánh vần SSIS vì vậy tôi không có hy vọng biết cách làm điều đó. (Đừng bận tâm rằng nó sẽ có một mặc định ngu ngốc như vậy.)
Aaron Bertrand

1
@AaronBertrand Tôi sẽ không thể trả lời mà không có bài đăng của bạn để đưa tôi vào đường mòn. Tôi không thể đánh vần CBDĐ (xem)
billinkc

2

Chỉ vì nó sử dụng lại cùng một id phiên không có nghĩa là cờ theo dõi của bạn vẫn được đặt. Nếu SSIS đã ngắt kết nối và kết nối lại, nó có thể có cùng SPID nhưng nó không còn là phiên tương tự. Tôi có thể tái tạo điều này một cách dễ dàng trong SSMS bằng cách mở một cửa sổ truy vấn mới, đặt cờ theo dõi và nhanh chóng đóng cửa sổ và mở một cái mới (tôi nhận được cùng một spid). Khi tôi kiểm tra cờ bằng cách sử dụng DBCC TRACESTATUD(610);, nó không còn được đặt.

Bạn có thể phải tìm cách đặt cờ theo dõi bên trong Nhiệm vụ luồng dữ liệu hoặc đặt nó trên toàn cầu trong suốt thời gian của gói.

DBCC TRACEON(610, -1);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.