從 ERP DB 的 SQL Server 表中獲取數據
我有相當舊的 ERP 系統在 SQL Server 2005 上執行(大約 20GB 數據庫。最大的有 200 萬行)。不幸的是,ERP 無法在 SQL Server 2008 或更高版本上執行。我也有大量的遺留系統。其中一些是 VBA 前端和儲存過程作為後端和業務邏輯。其中一些是 C# 應用程序。我知道這是一種非常糟糕的方法,我正在尋找更好的解決方案。我直接從 ERP DB 中獲取數據
SELECT WITH (NOLOCK)
。如果有一天(希望很快)我將不得不用新的 ERP 替換我的舊 ERP,那麼更新數千個儲存過程、VBA 和 C# 程式碼將是一場噩夢。
我能想到的唯一解決方案是對象的定義。例如,我計劃維護 P/N 表,該表將包含我所有的零件號和相關數據。另一方面,我必須每 5 分鐘將數據從 ERP 合併到 P/N 表(SSIS 或儲存過程)以保持更新。這對我的 ERP 數據庫來說是一個巨大的負擔。考慮到大量對象(倉庫、庫存數據、物流和金融交易、工程數據),這種方法將扼殺我的 ERP 數據庫。
你能提出更好的解決方案嗎?
如果您真的想經常將大量數據從源伺服器上移出,也許您應該考慮數據庫的本機解決方案
- 複製。
您可以將其組織為僅推送您希望它推送的內容。
它與正常執行並行執行。有很多配置可以平衡獲得徹底與不過多打擾伺服器(在兩端)。它可以做一些事情,比如使用單獨的服務讀取事務日誌,完全避免通過數據庫引擎執行查詢。
那裡有大量的資訊。
您可以從以下官方資料開始:
https
://technet.microsoft.com/en-us/library/ms151198(v=sql.90).aspx 它會引導您完成很多選項,包括選擇整體複製數據倉庫和報告方案的類型和注意事項。
任何關於複製的更多幫助的網際網路搜尋,包括關於 SO,都會出現更多。