我将SQL Server 2012用于OLTP数据库,并在SQL Server 2012中创建了一个数据仓库。
我用几个视图设计了Facts和Dimensions在Data Warehouse中。
我的一些事实表是通过将几个表合并在我的视图中而形成的。
我使用CDC (Change Data Capture)来获得任何OLTP更改的注意,并将这些更改保存在Stage Database中,最后,我必须根据上述保存的更改更新数据仓库。
问题是如何检测数据仓库的哪些记录必须根据CDC保存的这些更改进行更新?
欲了解更多情况:
我的SalesFact在我的Data Warehouse里有一个像这样的View
Select
Sum(T1.X),
Sum(T2.Y),
Sum(T3.Z),
Sum(T4.W)
From T1
Left join T2 On (....)
Left join T3 On (....)
Left join T4 On (....)
Group By T1.X,T2.Y,T3.Z,T4.W此外,我还有4个CDC Tables将OLTP更改保存为:
Create Table T1Change()
Create Table T2Change()
Create Table T3Change()
Create Table T4Change()那么,如何找到必须根据这些更改更新Data Warehouse的哪些记录呢?
发布于 2014-04-11 05:23:19
我现在从您的进一步评论中了解到,您的键是由更改的列组成的,您没有持久的键。在这种情况下,我看不出“变化”是如何决定的。
我会放弃整个CDC设计,每次都截断和完全刷新目标表。
https://stackoverflow.com/questions/22436801
复制相似问题