背景: Server1有 4 个表的源数据库。Server2是具有 4 到 5 个表(以及一些额外字段)的目标数据库。在将数据从 Server1 移动到 Server2 之前,我们有一个字段映射和一些额外的处理(即截断、连接、..)。我们有 4 个独立的 dtsx 包 - 每个包一个,并且有一个 SQL 作业按顺序依次调用每个 dtsx 包。
平台:SQL 2005 & SSIS 2005
现在,您可能会猜到每个 dtsx 包都会在连接管理器中复制“源”和“目标”数据库连接。当我们更改远程目标数据库中的任何设置时,我们必须更改每个 dtsx 中的连接 - 将远程数据库连接信息保存在一个地方的选项有哪些?
这是我知道的一些-
创建一个父 dtsx,它将依次调用 4 个 dtsx 中的每一个(与作业中所做的相同)并传递此(父)包中定义的连接变量(示例)。但这意味着作业中的单个 dtsx 包步骤不会使将来易于调试(目前我们可以很容易地确定哪个步骤失败 - 所以哪个表/dtsx 有问题)
有点传统但很有效 -使用数据库同义词。我们已经在数据比较 SP 中使用了一些远程表的同义词。如果我创建 4 个新的同义词 - 每个远程表一个。我可以通过它们的同义词直接在 dtsx 中引用这些表。稍后如果有任何更改 - 我需要更改并重新运行将删除并重新创建同义词的脚本(我也可以远程执行此操作!)
我做简单的 dtsx 设计和编程,所以请原谅我的知识,让我知道最好的方法。