【问题标题】:Wherescape / ETL / SQL DB Fact tables - add columnsWherescape / ETL / SQL DB Fact 表 - 添加列
【发布时间】:2014-05-07 06:11:41
【问题描述】:

我们在 Wherescape 中设计了星型模式。任务是向 Fact 表添加新列。 事实表中有大约 30GB。是否可以在不删除事实表的情况下添加列?或者应该使用什么技术来保留事实表中的当前数据,同时让新列可用。如果我只是尝试在管理工作室中添加列,我会不断收到超时错误。

我认为我之前的那个人实际上只是在 Wherescape 中修改了它(不太确定)。无论如何,如果我必须在管理工作室中手动完成,那也适用于我。

谢谢 杰莫

【问题讨论】:

  • 您是否在尝试添加的列中添加了默认值?
  • 不,我没有 - Wherescape 有一个名为重新创建的按钮,但这会破坏事实表,因此即使我将 0 作为默认值,也没有真正实现我想要做的事情。
  • 好吧,试试激活你的 SQL Server 查询调控器,让它有更高的时间价值。
  • Wherescape 有一个 ALTER Table 或 VALIDATE Against the database 的选项。将列添加到 Wherescape,然后对数据库进行验证。这将为您提供更改脚本,您不必删除数据。

标签: sql-server wherescape-red


【解决方案1】:

如果不删除表格,就无法真正做到这一点。它太大了,无论你做什么,它都会超时。备份表,删除它并使用新结构创建表。你只需要重新输入数据。没有捷径。对于较小的表,您可以轻松添加列没问题。

【讨论】:

    【解决方案2】:

    执行此操作的最佳方法是将列添加到元数据,然后右键单击您的表/对象,然后单击“验证数据库”。

    • 这将允许您更改表,而不必将数据移动到临时表中,重新创建表 并将数据移回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      相关资源
      最近更新 更多