Can we run SSIS packages on SQL Server 2016 Express or above
我们在SSDT中开发了SSIS软件包,我们的数据库是SQL Server 2016 Express。
有什么方法可以在SQL Server Express上执行SSIS包,因为我们的客户端计算机将使用SQL Server 2016 Express。可以通过C#应用程序进行操作,以便我们可以创建控制台应用程序或Windows服务吗?
- 这更多是一个许可问题。您始终可以直接在Express中运行SSIS软件包-导入/导出向导是SSIS之上的向导。
-
不,您不能在SQL Express中运行SSIS包。您在这里使用了错误的工具。我建议您完全不使用SSIS来编写数据移动过程
-
@ Nick.McDermaid首先,可以。第二个SSIS是一个很好的ETL工具。没错。实际上,构建自己的数据库会丢失所有的托管,验证,监视,日志记录和调试基础结构。如果您通过API运行该程序包,那么您也会迷失方向。
-
@Niraj,您可以使用EzApi从文件中打开一个包并运行它。该项目虽然很旧。有人在Github上将其分叉并将其升级到2016年。但是,您将丢失所有日志记录,监视,验证功能。我不会使用生产系统来做到这一点。与购买标准许可证相比,您将花费更多的时间来构建所有这一切
-
客户端计算机上的SSIS包和SQL Server Express似乎是技术上的不匹配。只需编写C#即可操作您的数据。
-
"第二个SSIS是一个很好的ETL工具"-它对某些事情很有用,而对另一些东西则毫无用处。调试是一场噩梦!
-
stackoverflow.com/questions/43036239/…,stackoverflow.com/questions/292564/…
-
您编写C#或编写存储过程(但是SQL Express没有计划表,因此您无法计划存储过程)。
-
我投票关闭该问题为离题,因为许可问题不在本网站的主题范围内。
-
您可能会发现SSIS对于您想做的事情是不必要的。 SSIS经常用作解决简单问题的复杂解决方案。如果您只是在数据库中移动数据,则只需使用存储过程即可。
评论证明,不可以-您不能。
SQL Server Express仅允许访问导入/导出向导(该向导将创建并立即执行SSIS包。您无法持久保存所创建的包,也无法运行现有的包)。
在开发环境(BIDS / SSDT)外部运行SSIS程序包要求在计算机上安装SQL Server Integration Services服务。
获取SSIS服务位的唯一方法是拥有SQL Server的许可副本(非Express版本)。对于标准版,这将花费您每核约8k,对于企业版,则将花费每核21k。
请勿尝试将所有必需的DLL和注册表项复制到客户端计算机。这将导致他们违反了与Microsoft的许可,他们真的很喜欢赚钱。