Thách thức khi sử dụng phương pháp tiếp cận tệp cấu hình là bạn cần phải sửa đổi liên tục tệp. SSIS sẽ không tải lại tệp cấu hình sau khi nó bắt đầu để bạn có thể hình dung được 8:05 và 8:35 PM công việc hoán đổi các tệp cấu hình nhưng điều đó sẽ trở nên lộn xộn và phá vỡ ở một điểm nào đó.
Tôi sẽ xử lý tình huống này với các biến dòng lệnh (/set option in dtexec). Nếu bạn đang chạy các gói từ dòng lệnh, nó sẽ trông giống như dtexec.exe /file MyPackage.dtsx
Thậm chí nếu bạn đang sử dụng SQL Agent, đằng sau hậu trường nó xây dựng các đối số dòng lệnh.
Phương pháp này giả định bạn tạo hai công việc khác nhau (so với 1 công việc được lên lịch 2x mỗi ngày). AgentMyPackage2011 có một bước công việc của SSIS có kết quả trong
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
và AgentMyPackage2012 có một bước công việc của SSIS có kết quả trong
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
Qua GUI, nó trông giống như
Không có GUI hoặc công cụ chọn cho thuộc tính bạn muốn cấu hình. Tuy nhiên, kể từ khi bạn đã tạo ra một tập tin .dtsConfig cho gói của bạn, mở tập tin đó lên và tìm kiếm một phần như
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
Các tập tin đã có đường dẫn đến "điều" bạn đang cố gắng để cấu hình quá nhấn vào chương trình gọi và sau đó tắt phần năm của cấu hình gói.
Cuối cùng, liên kết đến SSIS Configuration Precedence vì có sự khác biệt trong mô hình 2005 so với năm 2008. Tôi thấy bạn chỉ ra 2008 trong vé của bạn nhưng đối với người đọc trong tương lai, nếu bạn đang sử dụng cả hai/SET và nguồn cấu hình (xml, máy chủ sql, đăng ký, biến môi trường) thứ tự của các hoạt động khác nhau giữa các phiên bản.