【问题标题】:Scripts disappearing from package when deploying部署时脚本从包中消失
【发布时间】:2017-03-22 12:13:46
【问题描述】:

最近我尝试在我们的生产环境中部署 SSIS 包,在遇到一些错误后,我通过将它们从服务器(而不是部署文件)导入 SSDT 来检查包的内容。我发现真的很有趣 - 来自 Script Task(我们只有一个脚本任务)的 C# 代码不见了,即使使用 cmets 也只有模板代码,当您将 Script Task 添加到包中时,您会看到它看起来不是曾经被任何人编辑过。

我问我的同事是否可以代替我在同一台服务器上部署相同的项目,它成功了,代码就在它的位置上,一切顺利。

可能是什么导致了这种行为?我们都是服务器管理员,我们都拥有 SQL Server 的系统管理员权限,我们不知道他拥有的任何权限,而我不知道。

编辑:我们都在部署相同的 .ispac 项目部署文件,在它“准备好生产”之后我们都没有编辑它。我们也以同样的方式部署它 - 双击 .ispac 文件,并使用集成服务部署向导。 包是在不同的服务器上准备的。

【问题讨论】:

  • 包不应该被部署过程修改。我以前从未听说过脚本任务丢失脚本之类的事情。您能否描述一下您正在使用的方法以及将项目部署到何处?另外,您能否确认您和您的同事正在从相同的源代码进行部署?请编辑您的问题。

标签: c# sql-server ssis sql-server-2016


【解决方案1】:

我遇到了一个非常相似的问题。以前的帖子可能随后被删除,但我可以证明 SSIS 包中的流程脚本任务正在​​被替换为空任务或默认任务。我怀疑 SQL Server\120\DTS\Binn 目录中的版本或 dll 不兼容。

我们目前使用集成了 SSDT 的 Visual Studio 2013 Professional 进行开发(未使用 shell 或独立版本)。开发是在带有 SP1 的 Windows 7 Enterprise 64 位机器上进行的。使用 SSDT 在本地进行所有测试都很好。当部署到服务器时,测试按预期工作。服务器是我认为问题的根源。我们部署到在 Windows Server 2012 R2 上运行的 SQL Server Enterprise Edition。 Microsoft SQL Server 2014 (SP1-GDR) (KB3194720) - 12.0.4232.0 (X64)。 ispac 是从 SQL Server 集成服务目录中的 SSMS 中的导出生成的。然后将 ispac 部署到另一个站点。

原来该站点已将其部署到 SQL Server Developer 64 位实例。从理论上讲,这应该可以工作,但是当将已部署的项目导入回此站点的 Visual Studio SSDT 独立实例(未嵌入在 Visual Studio Professional 中)时,所有 Process Script Tasks 都被替换为 Process Task 的默认实例。 当在内部重现场景时,在 SQL Server 2014 Developer 64 位作为部署站点,然后将其导入新的 Visual Studio SSDT 项目,过程脚本确实被替换了。在创建新的 Visual Studio SSDT 项目并从企业版导入它们时,流程脚本都在那里。

对我们来说,SQL Server 版本之间似乎存在很强的相关性,或者它们不同的事实。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多