在集成服务刷新目标模式元(Refresh destination schema metadata i

2019-07-29 19:57发布

我一直在一个巨大的ETL项目,150多个表和设计过程中我不得不做出的情侣对表的目标列名和数据类型的重大变化。

我的问题是,我不能让SSIS看到新的架构,我改变了表。 所以,我想知道我怎样才能SSIS刷新这个模式? 我觉得它的那种荒谬的,有没有办法告诉SSIS更新从数据库架构中的元数据,特别是对数据库迁移。

从头开始重新创建项目是毫无疑问的,因为我已经花了几个小时就可以了。 也在改变手动的400多列,我改变也不是一个选项。

Answer 1:

怎么样使用Advanced Editor并按下Refresh按钮下方的左侧?



Answer 2:

我找到了一种方法来解决它,但是这是一个有点棘手。

甚至以为我是完全从我的包删除表中的任何引用,我总是得到旧的元数据。

我仍然没有一个明确的修复,但这里是我做过什么来解决这个问题:

  • 除去关注的源和目标表的任何引用
  • 从项目文件夹中删除OBJ和bin文件夹
  • 保存,关闭并重新打开,然后项目
  • 创建从头开始新的数据流和更新的元数据终于出现

不知道这些信息进行缓存,但我怀疑OBJ文件夹让你的包或Visual Studio中的元数据保存在当您关闭它被释放的内存缓存副本。 无论如何,以下步骤应该修复它。



Answer 3:

继我以前的自动应答,我终于找到了什么预防的元数据被刷新。

当我最初修改我的数据库,我实际执行另一个脚本正在作出DROP放在桌子上,然后CREATE TABLE重新建立新表。 在那里,SSIS从来没有能够探测到的变化,我不得不做的所有事情在我其他的答案。

今天后来我不得不做出一些细微的修改,这一次,我选择了一个ALTER TABLE 。 奇妙的是,这一次SSIS检测到的所有的变化,甚至通知我,从先进的编辑器,它工作得很好刷新列。

所以基本上所有的这些问题,已经被我对DBA知识贫乏和最佳做法造成的。



文章来源: Refresh destination schema metadata in Integration Services