【问题标题】:Execute SQL script after SSIS build or check-in在 SSIS 构建或签入后执行 SQL 脚本
【发布时间】:2014-06-07 01:15:07
【问题描述】:

我正在尝试寻找一种更好的方法来测试我们的 SSIS 应用程序,该应用程序用于将数据从文件加载到 SQL Server 并验证文件数据。

我创建了一个 SQL 脚本,可以运行该脚本将“坏”数据插入到数据库表中,并确保我们的验证正确执行。

SQL 脚本:
- 加载“坏”数据
- 执行 SSIS 验证
- 确保检测到数据中的错误
- 输出 PASS 或 FAIL
- 如果通过则删除 TEST 数据

无论如何我可以让这个脚本以某种方式自动运行,例如在有人签入一些代码之后?我应该将其添加为存储过程吗?

我查看了默认模板构建定义,但看不到如何运行此 SQL 脚本。

【问题讨论】:

    标签: sql-server tfs ssis msbuild continuous-integration


    【解决方案1】:

    错误的方法是使用构建服务器。持续集成有很多部分,构建服务器实际上是为不需要环境实例的编译和验证而设计的。您可以采用以下两种良好做法:

    1. 创建一个允许您从 SSIS 脚本加载单个包并测试输入和输出的测试工具。本质上是单元测试。几年前我为一位客户做过这个,效果很好。
    2. 使用release management tool to push out your packages、数据以及您需要的所有其他内容。 Visual Studio 的发布管理可以轻松做到这一点。

    我经常购买的一条经验法则是,如果我不需要内存对象以外的任何实例,那么我只需要一个构建服务器。但是,如果我需要我的应用实例,那么我想将发布管理工具添加到我的持续集成策略中。

    【讨论】:

    • 哦,忘了:您可以使用 TCM.exe 命令行工具将您的测试与 TFS 中的测试用例同步,以便您可以拉回结果并在环境中远程执行它们:nakedalm.com/…
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      您可以使用 SQL Server 代理嵌入例如您的 SQL 代码,然后您可以从您的应用程序运行此作业。

      【讨论】:

      • 无论如何都要将其作为构建过程和 TFS 的一部分?喜欢持续集成?所以测试是作为签入过程的一部分运行的,以确保没有任何变化?>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2011-02-13
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多