As is common in a data warehouse solution, over time the primary SSIS Project has grown dramatically as new packages have been added and a definable split in the function of those packages has appeared. To make deployment easier for one of our customers we have decided to split a SSIS project up along this functional line. BIDS allows us to cut and paste packages from one project to another but this doesn’t actually physically move the underlying files from one project folder to the another nor does it drag those project defined connection managers with it. Further to this only packages can be moved in this way, connection managers can’t.
To overcome these limits this is what I did:
- Created a new Project in the Solution.
- Copied the physical package files to a temporary folder.
- Copied the required physical Project Connection Manager files from the original project folder to the new project folder.
- Copied the physical project parameter file from the existing project folder to the new project folder.
- Edited the original project definition file and copied out the required connection manager definition tags from within the XML.
- Edited the new project definition file and pasted in the connection manager definition tags from within the XML – don’t forget to modify the opening ConnectionManager tag to remove the closing slash and add a closing tag at the end of the connect manager definition tags.
- Used the Add existing package dialogue to import each of the packages from the temporary folder created in 2.
- Checked each package to confirm that connection managers had been mapped as expected and no other issues were created in the move.
This worked well and the connection managers plumbed up as expected. The only drawback we have now is that the SVN history for the moved packages has become disconnected.
Have you had any experience with this – is there a better way? Leave a message in the comments below.