Single package deployment in SSIS2012 - ssis

I have an SSIS 2012 solution which has 50 Packages. In the latest project deployment model we have to deploy the entire project even if there is any change in one single package. Is there a way of deploying that one single package and not the entire solution(ispac)?

No.
Incremental package deployment for SSISDB is not an option until you get to SQL Server 2016

Related

SSIS single package deployment deleting other packages?

We have an SSIS project in Visual Studio (2019 Community) that we deploy to our SQL server (2016) using project deployment. We have a couple of hundred packages and we most often deploy single packages at a time.
We had been doing most of our development in a single Azure Git master branch since these changes were separate from most of our other development. A few changes were done in a different development branch and then that single package was deployed from there. It should not have caused a problem because that single package was new and not being used in the master at all. However, when that single package was deployed it removed a couple of new packages from our live server that had been deployed from the master branch but had not been in the development branch when it was initially created.
I thought that a single package deployment only deployed that single package you selected or the few packages you selected if you chose a few of them. It seems like in addition to deploying that package it deleted packages that were on the live server but not in the dev branch that we deployed from.
We deploy from Visual Studio by right-clicking our package or packages and then choosing Deploy Package from the context menu. That process creates an .ispac file when we are deploying to our development SQL Server. That .ispac file is copied to the live server and then run directly on the live SQL server.
This should not be deploying all packages, correct? Just those highlighted? Does it remove missing packages if I only deploy a single package at a time but the packages in my project in VS and the project in the SSIS catalog do not match?
It depends!
For 2012 and 2014, the only option for deployment to the SSISDB was "Project" deployment. The entirety of the .ispac file is applied to the SSISDB - whether package1 had changed or not.
With 2016+, you have the ability to do Project or Incremental Package deployment. In the "Review" tab of the deployment wizard, in the Summary section you can see the command line indicates /ModelType:Package That is the indication it is deploying package(s) versus the whole project. See figure 5 of
https://www.sqlservercentral.com/articles/incremental-package-deployment-%E2%80%93-a-ssis-2016-feature
If you're deploying from the .ispac, then there should be a selector in the Select Source tab (not shown in referenced article) that allows you to do full or incremental deployment but the ModelType in the Review tab will identify which approach was selected. I suspect someone did a full/project deploy.
But, the nice thing about the SSISDB is that you can use SSMS to roll the project back to the previous state so no harm, no foul, no lost packages.

how to delete unused connections in an SSIS package deployed as an SQL Server Agent job step?

I have an SSIS package deployed to an SQL Server by Project deployment model.
When I configure to use that package as a job step, I see that there are other connections that this package does not use at all (they are all project-scope connections). I tried to look in the SSMS as well as to google but got no luck to find a way to remove these unused connections. Please advise. I can not remove these project-scope connections because they are used by some other packages in the SSIS project.
If you deploy with the project deployment model, you inherit those connection managers. If you don't want them in your package, you could:
Put your package in another project;
Convert the project connection managers to package-scope for the other packages.
But you can't have your package as part of a project, without the connection managers of that project.

SSIS Bids 2008 package deployment

I am developing a SSIS package using BIDS 2008 which is for SQL Server 2008 R2.
I need to deploy my application in DEV and QA. Would generating a dtsConfig for both environments sufficient for deployment. I am planning a file based deployment where I deploy the package and dtsConfig file on a server location. I have included the configuration file in the job step of the job. So what I understand is if there are two enviornments ,I would need to create two job scripts. Am I right ?
You need two different job scripts if there are any differences in the name/location of either the package or the config file between the two environments.
If you are doing a file system deployment, and using relative/local path to specify the location of the package and config (in other words, you don't have to specify the servername in the path) then the same job script should work in both environments.

Execute SSIS package from Visual Studio database project deployment?

We have a nightly process that creates scrubbed copies of our databases so that our developers can use them in their dev environment. They restore the databases and then run the database deployment from a database project in Visual Studio 2010 to get updated schemas.
I'm working on an SSIS package that will copy data out of the primary database into staging tables and then into an archive for reporting. Once completed I'd like the database deployment to kick off the SSIS package so that it updates the archive database, is there any way to do this?
The source and target databases will both be in the solution. I'm thinking the source database deployments will stay the same, with no dependencies on the target or vice versa. Deployments on the target db project are where the package execution would get called right after post-deployment.
Unless I'm missing something, add a step into your nightly process to start the SSIS package. SQL Agent has a job step explicitly for starting SSIS packages but if your process isn't that, just make an operating system call to DTEXEC
dtexec.exe /file C:\RepliScrubberPackage.dtsx

How can I deploy a single package from SQL Server Data Tools in SSIS 2012?

I've got a number of SSIS packages spread across multiple projects in SQL Server Data Tools (formerly BIDS), which I want to deploy to the SSIS Catalog DB on my server.
When I want to deploy an entire project, I can just right-click the project and hit Deploy, to start the SSIS deployment wizard. However, there doesn't seem to be an option to do this for a single package only, without redeploying the rest of the packages in the same project.
Does anyone know if it's possible to deploy just a single package using the deployment wizard, independently from the others in the project?
This does not appear to be possible via the deployment wizard or SSDT. Similar discussion in this thread...where the original poster proposes a (terribly manual) workaround.
You might also want to get BIDSHelper from Codeplex (free tool). It contains a utility to allow you to deploy SSIS packages from BIDS. I haven't tested BIDS Helper with SSDT yet. Also you might want to grab SSIS Package Manager from Codeplex as well.
You can use SQL Server Management Studio to import a single package:
In SSMS, connect to your Integration Services instance.
Right-click the appropriate node (File System or MSDB) and select Import Package.
Set Package Location to File System.
Click the three dots next to Package Path. Browse to your SSDT project and select the .dtsx file you want to import.
Click OK. If prompted to overwrite the existing package, click Yes.