January 3, 2012

SSIS 2012: Project Deployment Model and Build Configurations

With the introduction of the new project deployment model in SSIS 2012, we now have the ability to deploy a project to  a SSIS server and use parameters to packages and projects. With this, there may be instances where we need to change the name of the SSIS server and the value of parameters as we develop, debug and test packages within SQL Server Data Tools. Depending on the number of servers and parameters your project and package may have, making those changes may be rather tedious and prone to error. I am thinking in the many times people have mistakenly used the wrong connection strings when debugging a package in the old days - I have done it many time.
The good news is that projects using the new project deployment model in SSIS 2012 leverages build configurations from Visual Studio  in a more meaningful way than in earlier versions, making most of these changes a lot simpler. How? I am glad you ask. For one, both, project and package parameters can get their values from build configurations. For two, some project level properties can also be set via build configurations (things like Deployment Server name and project path); which makes debugging and deploying packages in SSDT (formerly known as BIDS)against different SSIS servers much simpler.


Binding Parameter values to Build Configurations

For this, you just need to go to the parameters tab (project or package) and click button with the weird icon. The tooltip actually says “Add Parameter to Configurations'”.

Then you have the opportunity to choose the parameters you want to associate with the multiple build configurations you may have created. In the picture below, you can see how my package has 5 parameters and I had created 2 build configurations, one called “Test” and one called ‘Development”. Now you can enter a value for each parameter and configuration combination.



So, how is this helpful? Well, Assuming that I need to change the value of the 5 parameters at design time as I debug the package in 2 different machines, I just need to switch between build configurations and to have all parameter values changed at once. Switching between build configurations is as simple as selecting a value from a dropdown list.










Binding Project Properties to Build Configurations

Similarly, there are some Build, Deploy and debugging properties of the project that can be assigned using build configurations. For that go properties of the project and select the the properties and the configuration and assigned the desired value.



Lastly, keep in mind that build configurations are not new to SSIS 2012 projects, but I honestly did not find them helpful until now.

6 comments:

  1. Raf, your blog kills me. Days and days of nothing at all accented by moments of sheer coolness!

    JamesNT

    ReplyDelete
  2. It sounds like it is very easy to make a mistake.... it sounds like each dev person needs config for each own machine which sometimes is different... it sounds like developer is the best person to manage ALL configurations incl production? Also it seems we need to deploy entire project even if we make change only one in package.... that might cause issues... and we will have to double check deployment files very carefully to ensure we don't deploy unfinished packages

    I'm not saying I don't like it I just still have a few questions :)

    ReplyDelete
    Replies
    1. Emil, I agree with you that is very easy to make mistakes in picking to the wrong target. It requires discipline and some security model in place. Why in the world would one, as developer, have permissions to make changes in a production server?
      So yes, this is flexible, but it can be messy if not managed properly

      Thanks for your feedback

      Delete
  3. Thanks for your blog, it's nice :)

    I'm testing SQL Server 2012 BI and I have a simple question about the deployment method.
    Is it possible to do the mapping of the environment that I created with SSDT like you explain on this topic on SSMS ?

    ReplyDelete
    Replies
    1. Test, although SSMS runs in Visual Studio shell as SSDT, I can picture how SSMS could leverage such functionality. You would need to try it out.

      Thanks for your comment.

      Delete
  4. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    64 nước cờ trên bàn thương lượng ebook
    mbp là gì
    thuyết erg
    các nghịch lý nổi tiếng
    chi square test là gì
    nghệ thuật nói chuyện trước công chúng dale carnegie
    định lý coase
    học thuyết kỳ vọng của victor vroom
    chiến thắng con quỷ trong bạn audio
    điểm cân bằng nash

    Triệu Quốc Đống khinh thường nhìn đối phương:
    - Nếu thành phố bỏ mặc chúng tôi, chúng tôi đành phải dựa vào chính mình. Huống chi khu vực này cũng không thuộc khu triển lãm của An Đô, cho dù có người đến nói cũng là người Ban tổ chức, chưa đến lượt thành phố quan tâm.

    - Đúng thế, nếu thành phố cảm thấy Giang Khẩu không đúng thì làm văn bản gửi đến Huyện ủy, Ủy ban Giang Khẩu đi, làm chúng tôi rời khỏi, không tham gia Hội chợ thương mại nữa là xong.
    Tôn Cầm thấy Triệu Quốc Đống như vậy thì cũng nói xen vào.

    - Không ra gì cả, cô là ai, sao lại có thái độ như vậy?

    - Giang Khẩu đây là không coi cục Chiêu thương ra gì, sao phái người như vậy tham gia Hội chợ thương mại?

    - Hình ảnh An Đô bị hủy hết rồi, người ngoài sẽ thấy An Đô chúng ta chia rẽ.

    - Cục trưởng Lao, gọi cho Lô Vệ Hồng, Mao Đạo Lâm mà nói tố chất cán bộ Giang Khẩu đi. Giang Khẩu bọn họ còn do Thị ủy, Ủy ban thành phố chỉ đạo không?

    Một đám cán bộ cục Chiêu thương không ngừng lớn tiếng nói. Triệu Quốc Đống thấy vậy thì rất tức giận. Đám ngồi trong văn phòng này thì sao biết vất vả của nhân viên bên dưới. Ngoài việc ngồi uống nước khoác lác, đọc báo ra thì cũng chỉ nghĩ làm như thế nào ăn chặn tiền.

    Lao Minh tức giận đến độ mặt tái mét. Đám Giang Khẩu này quá láo, không coi y vào đâu. Nhưng ngoài Cù Vận Bạch ra thì y không nhận ra ai, trong lúc nhất thời cũng không tìm được lời thích hợp mà trách đối phương.

    - Quốc Đống, như vậy có được không?
    Cù Vận Bạch thấy càng lúc càng có nhiều người tới, mà Lao Minh cũng trốn sang bên gọi điện nên có chút sợ hãi.

    - Chủ nhiệm Cù, sợ gì chứ? Chúng ta cũng không làm gì sai, hơn nữa đây là cục Chiêu thương bọn họ đối xử bất công với Giang Khẩu chúng ta, chúng ta chỉ là tự bảo vệ mình.

    ReplyDelete

I will love to hear your feedback and comments. Thanks.