快速更改SSIS包数据源参数以便于迁移

时间:2014-01-20 07:10:16

标签: sql-server ssis odbc bids

我需要将SQL数据库从Sybase迁移到MS SQL Server。在生产服务器上进行实际迁移之前,我首先使用SQL Server Management Studio的导入/导出向导创建了一个SSIS包,以便与其他数据库一起进行测试。测试迁移成功了,我现在想将我的SSIS包部署到真实的服务器上。

但是,似乎我不能简单地在Management Studio中运行包为它选择不同的数据源 - 它只在运行它的相同数据库上运行。现在,它可以在一个名为SQL Server Business Intelligence Development Studio(或简称BIDS)的东西中编辑(我正在使用SQL Server 2008版本),但是要经历每个数据流任务,为每个〜150个人手动更改目标源我正在移动的桌子是无效的,也引起了错误的可能性。

我有办法在SSIS包的所有流程任务中快速更改要用于所有目标源的数据源吗?如果没有,那么首先使用测试数据库测试迁移的简单方法是什么,只需在部署时更改数据源?

我正在使用ODBC数据源,但是对于某些人而言,包显示了BIDS中的OLE源。

我希望我足够清楚。如果您还有其他问题,请询问!谢谢!

1 个答案:

答案 0 :(得分:2)

我会将一个变量用于连接管理器的ConnectionString属性。包级别配置对于完成此任务非常有用。几种方法可以做到这一点。我更喜欢在SQL Server中使用一个包含所有包的所有配置的表。如果您有多个软件包并且需要动态更改这些多个软件包中的一组连接管理器,这可能会特别有效。

基本步骤是:

  1. 点击您的SSIS设计界面,然后选择“套餐配置......”
  2. 创建配置类型“SQL Server”
  3. 的包级别配置
  4. 将您的连接存储在SQL Server的配置表中
  5. 更改Connection Manager以使用ConnectionString属性的变量
  6. 通过包级别配置从Configuration表填充该变量
  7. 当需要从测试切换到生产时,只需更新配置表中的连接字符串
  8. 即可

    这些屏幕截图可以帮助...

    Choosing a configuration level

    Configure your variable value

    Use your variable for your Connection Manager's ConnectionString

    Store your variable value in a Configurations table

    这是我使用本书实现的更大的包管理框架的一部分:

    Microsoft SQL Server 2008 Integration Services: Problem, Design, Solution

    我强烈推荐它。应该花不到一天的时间进行设置。本书有一步一步的说明。

    This question and its associated answers also helpful.