我有一個任務可以爲數據庫創建某種邏輯。今天有一個IBM MQ系列設置可以複製來自幾個遠程系統的數據。目前它在遠程系統中發生變化,並將數據轉儲到SQL Server 2005數據庫中的登臺表中。如何從遠程系統複製和驗證數據到SQL Server中
我想驗證數據根據一些簡單的驗證邏輯(必填字段和數據格式)和一些更高級的數據層次結構的檢查。被導入的數據是分層的,其中一些數據之間存在父子關係。分層驗證應檢查登臺表和生產表中當前可用的數據,以確保導入完成後將有一個有效的層次結構。
如果記錄驗證失敗,應以某種方式記錄失敗,並且不應導入失敗的記錄,但其餘記錄應該。如果當前生產表中的記錄具有相同的ID,則應該用新記錄替換。在數據出現在登臺表中之後,應儘快進行登臺表中的數據傳輸。
據我所知,生產表中的記錄總數不會超過100萬,每批更新的物品的可能數量最多爲幾千行。
我的問題是什麼解決方案最適合導入數據?
我想到了幾個可能的解決方案:
開始傳輸的方式:
- Windows服務輪詢每隔一定的時間 的 臨時表,並揭開序幕某種轉移當插入新數據 時, 處理。
-
:
- 在插入新的數據到 表
- 調度的SSIS工作,每隔一定的時間驗證和轉移數據的
方式運行充分利用MQ開球轉移過程
- 創建一個SSIS作業
- 創建存儲過程
- 自定義.NET代碼
我的主要問題是,層次結構必須始終在生產表中始終保持完整,並且數據應該在臨時表中出現後不久才能在生產表中使用。我無法確定在臨時表中始終可以使用完整的層次結構。