2

We have developed SSIS packages in SSDT, and our database is SQL Server 2016 Express.

Is there any way we can execute our SSIS packages on SQL Server Express, as our client machines will be using SQL Server 2016 Express. Can it be through C# application, so that we can create a console application, or windows service?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Niraj
  • 1,782
  • 1
  • 22
  • 32
  • This more of a a *licensing* question. You always could run SSIS packages directly in Express - the Import/Export wizard is a wizard on top of SSIS. – Panagiotis Kanavos Oct 31 '17 at 10:05
  • 1
    No you can't run SSIS packages in SQL Express. You are using the wrong tool here. I suggest you write your data movement process _without_ SSIS at all – Nick.Mc Oct 31 '17 at 10:06
  • @Nick.McDermaid first, you can. Second SSIS *is* a good ETL tool. Nothing wrong with it. In fact, building your own loses all the hosting, validation, monitoring, logging, debugging infrastructure. Which, you also lose if you run the package through the API. – Panagiotis Kanavos Oct 31 '17 at 10:10
  • @Niraj you could use [EzApi](http://sqlsrvintegrationsrv.codeplex.com/releases/view/21238) to open a package from a file and run it. The project is very old though. Someone [forked it on Github and upgraded it to 2016](https://github.com/fpvmorais/EzApi2016). You'll lose all logging, monitoring, validation functionality though. I wouldn't do that with a production system. You'll spend more *building* all this than buying a Standard license – Panagiotis Kanavos Oct 31 '17 at 10:19
  • 1
    SSIS packages and SQL Server express on a client machine seems like a technology mismatch. Just write C# to manipulate your data. – Mitch Wheat Oct 31 '17 at 10:24
  • 1
    "Second SSIS is a good ETL tool" - it's good for some things, and utter crap for others. debugging is a nightmare! – Mitch Wheat Oct 31 '17 at 10:25
  • https://stackoverflow.com/questions/43036239/cant-deploy-ssis-package-to-sql-server-2016-express-on-windows-10-pro , https://stackoverflow.com/questions/292564/can-i-run-ssis-packages-with-sql-server-express-or-web-or-workgroup-editions – Mitch Wheat Oct 31 '17 at 10:37
  • Either you write C# or you write Stored procedures (however SQL Express dont have a schedular, so you cannot schedule your stored procedures). – SqlKindaGuy Oct 31 '17 at 11:48
  • 1
    I'm voting to close this question as off-topic because licensing questions are not on topic for the site. – billinkc Oct 31 '17 at 11:56
  • You might find SSIS is unnecessary for what you want to do. SSIS is frequently used as a complicated solution for a simple problem. If you are just moving data around in your database, just use a stored procedure. – Nick.Mc Oct 31 '17 at 12:25

1 Answers1

4

As the comments attest, no - you cannot.

SQL Server Express only allows access to the Import/Export Wizard (which creates and immediately executes an SSIS package. You cannot persist the package you created nor could you run an existing package).

Running an SSIS package outside of the development environment (BIDS/SSDT) requires that the SQL Server Integration Services Service be installed on the machine.

The only way to get the bits for the SSIS Service is to have a licensed copy of SQL Server (not Express edition). That's going to cost you ~ 8k per core for Standard edition or 21k per core for Enterprise edition.

Do not attempt to copy all the required DLLs and registry keys to the client computers. That will result in them being in violation of licensing with Microsoft and they really like getting their money.

billinkc
  • 59,250
  • 9
  • 102
  • 159