SSIS 2012: Tham chiếu môi trường n không liên quan đến dự án


7

Tôi có một gói mà tôi đang cập nhật. Gói được thực hiện bởi một công việc Tác nhân. Sau khi xóa gói và sau đó triển khai phiên bản mới, tôi chạy một tập lệnh thực thi bất kỳ câu lệnh [create_en môi trường], [create_en môi numference], [create_en môi_variable] và [set_object_parameter_value] cần thiết.

Tuy nhiên, khi tôi bắt đầu công việc, nó không thành công với thông báo lỗi sau (trong đó "n" là một số không xuất hiện trong bất kỳ bảng SSISDB có liên quan nào hoặc xem dưới dạng id dưới bất kỳ hình thức nào):

Tham chiếu môi trường n không liên quan đến dự án

Câu trả lời:


12

Lý do cho điều này là bước công việc hiện có thực thi gói chứa công tắc / MÔI TRƯỜNG trong dòng lệnh và giá trị đó phải được cập nhật cho phiên bản mới của gói.

Điều này không rõ ràng, vì sử dụng SSMS để xem bước công việc không hiển thị công tắc này ở bất cứ đâu. Cách duy nhất mà tôi đã tìm thấy để khắc phục điều này là viết kịch bản thả và tạo công việc, lấy tham chiếu chính xác bằng cách sử dụng mã như thế này:

SELECT  reference_id
  FROM  SSISDB.[catalog].environment_references er
        JOIN SSISDB.[catalog].projects p ON p.project_id = er.project_id
 WHERE  er.environment_name = @Environment
   AND  p.name              = @ProjectName;

và sau đó cập nhật tham số @command của cuộc gọi đến sp_add_jobstep với số mới.

Tài liệu tham khảo hữu ích (mà bạn sẽ không tìm thấy bằng cách tìm kiếm thông báo lỗi):


Môi trường cũng cần được thêm vào ít nhất một gói trước khi nó xuất hiện environment_references.
Nick.McDilyn

3

Bài đăng cũ nhưng để giúp đỡ người khác và có thể là một giải pháp: Khi Gói SSIS được thực thi từ một công việc, nó sẽ sử dụng các tài liệu tham khảo được thiết lập trên danh mục Dự án SSIS.

Khi triển khai dự án SSIS một lần nữa, các tham chiếu này bị mất và bạn cần đặt lại chúng trong Danh mục SSIS.

Trong SSMS> Kết nối thể hiện> Danh mục dịch vụ tích hợp cây mở> SSIDB> Dự án> Nhấp chuột phải vào dự án chứa Gói được thực thi trong Công việc tác nhân SQL> Nhấp vào Định cấu hình> Nhấp vào Tài liệu tham khảo

Là tài liệu tham khảo vẫn còn đó? Nếu không thêm nó một lần nữa. Bạn cũng có thể kịch bản này như là một sqlscript triển khai bài ..


1

Bạn có thể tạo kịch bản tạo tham chiếu, các biến môi trường và liên kết đến tham số bằng cách sử dụng:

  1. catalog.create_en môi trường (để liên kết dự án với môi trường)
  2. catalog.create_en môi_variable (để tạo các giá trị khác nhau trong môi trường của bạn)
  3. catalog.set_object_parameter_value (để gán biến môi trường cho tham số)

Nếu bạn làm điều này trước khi tạo công việc đại lý, bạn có thể sử dụng ID tham chiếu môi trường trong văn bản lệnh tạo công việc đại lý của bạn.


Điều này dường như phục hồi thông tin đã có trong câu trả lời của tôi. Nó không thêm một chút chi tiết mặc dù.
Đánh dấu Freeman
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.