已更新2010-11-25如何將多個用戶訪問數據庫的遷移到一個單一的SQLServer數據庫
遺留單機應用(A1)正在重新創建爲一個Web應用程序(A2)。
A1是用Delphi 7編寫的,使用MS Access數據庫來存儲數據。 A1已經分發給約1000個活躍用戶,我們在構建A2期間無法控制。數據庫有50個表,其中一些包含用戶數據,一些包含模板數據(不需要複製);另一些包含用戶數據,其中一些包含模板數據(不需要複製)。這些用戶表中的3-4個較大(< 5000個記錄),其餘很小(<100)。
一旦A2是'活的',A1的用戶應該能夠遷移到A2。我正在尋找場景的比較來做到這一點。
一種選擇是爲這些用戶開發一個獨立的「更新」工具,並通過web服務將此更新工具與A2數據庫進行通信。
另一種方法是允許用戶將他們的Access數據庫(〜15 MB)上傳到我們的服務器,運行某種SSIS包(可能一夜之間),以便爲該用戶獲得此A2,並刪除Access數據庫之後。
我是否缺少選項?哪個選項是「最好的」(我理解這可能有點主觀,但希望至少可以明確場景的贊成和反對)。
如果需要,我會很樂意使這個社區wiki。
UPDATE更新2010-11-23:有人建議方案1的變體應該是讓更新工具/應用程序直接與生產數據庫對話。這是可行的嗎?
UPDATE 2011-11:到目前爲止,這已經投入生產。用戶上傳.mdb所在的.zip文件,將其解壓並放置在安全的位置。每晚安排一次SSIS預定作業,並將數據轉移到登臺表格,然後通過SP將其轉移到生產環境中。
你的意思是說有1000個dstinct的A1拷貝,每個都有自己的數據? – 2010-11-22 13:31:09
@iDevlop:是的,我有。 – Tobiasopdenbrouw 2010-11-23 13:18:09
@iDevlop:當然,從這些數據庫中只會導入每個用戶實際定製的數據:通用/公用數據將不會被傳輸。 – Tobiasopdenbrouw 2010-11-23 15:48:38