簡體   English   中英

如何重復多步驟模式更改(ETL模式更改?)

[英]How to repeat multi-step schema change (ETL schema changes?)

我是DBA的新手,但對SQL的了解並不多,所以請保持謹慎。

我想重建一個數據庫,該數據庫需要添加新的列,表和關系,然后刪除舊的表,列和關系。 似乎需要執行三個步驟。

  1. 更改架構以添加新內容
  2. 運行SSIS以使用一些舊數據連接新數據。
  3. 更改架構以刪除舊內容。

我正在VS 2015中使用SQL數據庫項目來維護架構,並使用架構比較來更新數據庫架構。 如果可能的話,我想使其可重復或自動,所以我可以在非生產數據庫上對其進行測試以使流程正確:更改架構->運行ETL->更改架構。 是否可以從ETL中應用模式更改,或者這需要手動操作? 除了VS發布或比較之外,是否有辦法將兩個架構存儲到文件中然后應用它們?

有一個SQL任務,允許您執行您想做的事情。 您要更改表(添加列),將數據從舊列移動到新列,然后刪除舊列。

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

在運行之前,請仔細測試您的代碼。

有效! 這是ETL的示例。 請注意,將數據流的DelayValidation設置為true並為數據流內的某些操作禁用ValidateExternalMetadata是很重要的,因為數據庫不是靜態的。

修改架構的示例控制流

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM