【问题标题】:How to repeat multi-step schema change (ETL schema changes?)如何重复多步架构更改(ETL 架构更改?)
【发布时间】:2016-10-31 19:54:13
【问题描述】:

我是 DBA 新手,不太懂 SQL,所以请温柔一点。

我想重组一个数据库,该数据库需要添加新的列、表和关系,然后删除旧的表、列和关系。一个三步过程似乎是有序的。

  1. 更改架构以添加新内容
  2. 运行 SSIS 以使用一些旧数据连接新数据。
  3. 更改架构以删除旧内容。

我在 VS 2015 中使用 SQL 数据库项目来维护架构,并使用架构比较来更新数据库架构。如果可能的话,我想让它可重复或自动化,这样我就可以在非生产数据库上对其进行测试以获得正确的流程:更改模式->运行 ETL->更改模式。有没有办法从 ETL 中应用模式更改,或者这是否需要手动操作?除了VS发布或比较之外,有没有办法将两个模式存储到文件中然后应用它们?

【问题讨论】:

    标签: sql sql-server database visual-studio database-schema


    【解决方案1】:

    有一个 SQL TASK 可以让你做你想做的事。您想要更改表(添加列),将数据从旧列移动到新列,然后删除旧列。

    1) Alter table tableA add column ..
    2) update table tableA set ..
    3) alter table tableA drop column...
    

    请在运行之前仔细测试您的代码。

    【讨论】:

    • 谢谢本杰明。那么,你认为我应该跳过 SSIS 和数据库项目吗?从理论上讲,它们似乎是 SQL 新手的好拐杖,但对现实不太确定。
    • 哦,你说的是SSIS中的SQL Task吗?没关系。
    【解决方案2】:

    成功了!这是 ETL 的示例。 请注意,将数据流的 DelayValidation 设置为 true 并为数据流中的某些操作禁用 ValidateExternalMetadata 很重要,因为数据库不是静态的。

    【讨论】:

      猜你喜欢
      • 2015-02-23
      • 1970-01-01
      • 2012-01-10
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 2017-02-21
      • 1970-01-01
      相关资源
      最近更新 更多