我試圖在SQL 2014數據庫中爲我們的類型1緩慢更改維度表實施ETL過程。負載需要在服務器之間進行,我寧願不使用鏈接服務器。如何處理使用SSIS從源中刪除的行慢速更改維度
我一直在尋找如何在SSIS中做到這一點,並發現緩慢變化的維度嚮導工作正常,除了這似乎只允許插入新的行或更新行的業務關鍵匹配,但是在維度表中存在記錄時,我沒有找到它允許我處理的地方,但是從源刪除了該記錄。我想確保這些被刪除。我錯過了什麼嗎?有沒有人找到更好的方法來處理SSIS中的這個問題?
我知道我可以將所有內容都轉儲到目標服務器上的另一個表中,然後編寫TSQL合併,但似乎應該是在SSIS中執行此操作的一種簡單方法。
不相關,只是想知道,鏈接服務器的使用有什麼問題? – Anton
您誤解了SSIS ...您需要在合併過程中將數據移至表中。 SSIS本身沒有OUTPUT,但它確實有一個錯誤處理方法,可用於暫存「已刪除」行。當然,一個固定的TSQL MERGE也可以這樣做,但假設不同的表需要SSIS ...然後在SSIS中識別出刪除的行是不存在的行。但是,在SSIS中,壞行仍然是行。 –
感謝您的信息。我正在考慮升級TSQl合併將是最好的選擇。有幾個原因,我不想使用鏈接服務器的一些周圍的安全,我已經得到了一些過去(其他開發人員無法按照我設置的方式做一些事情,並最終在SA中進行身份驗證等),還因爲這個過程需要能夠推送到多個服務器並輕鬆地轉到新的服務器上,並且使用SSIS中的包配置更改連接字符串非常簡單。當然可以通過鏈接服務器和一些動態SQL來完成。 – schiznig