2013-07-17 33 views
1

我已經將Access 2007數據庫遷移到SQL Server 2008 R2後端,並保留了帶有鏈接表的Access前端。少數用戶的表現很好。使用SQL Server後端訪問數據庫:使用多個用戶的戲劇性減慢

昨天該應用程序開放給多個用戶,並在下午的表現下到地獄。花了幾分鐘的時間打開或關閉前端,或者做任何事情。關閉的延遲似乎特別奇怪,因爲它通過調用Application.Quit的主菜單上的按鈕完成。根本不做任何事情。

我發現舊的LDBView實用程序似乎在.laccdb文件上工作。它顯示有11個用戶登錄,還有另外15個用戶不再登錄。它沒有顯示用戶名,只是他們連接的機器名。大多數情況下,這些機器名稱是兩個虛擬主機,所以我不知道它們是不是真的是不同的用戶,或者多次報告同一用戶(對可以識別的.laccdb文件的格式不夠了解)。

我拿了一個麻煩的Access前端文件(.accdb文件)的副本,並從原來的網絡位置運行副本。它運行良好。所以這個問題似乎不在網絡中,或者在SQL Server數據庫中,或者Access前端以某種方式損壞。

消除這些可能性,問題似乎與多個用戶同時使用相同的Access前端有關。在將表遷移到SQL Server之前,原始Access數據庫對相同數量的用戶運行良好。所以前端的基本設計似乎能夠支持多個用戶。

我將如何去追蹤Access前端中爭用問題的來源?對我來說,除了查看.laccdb文件中的併發用戶數之外,似乎除了查看正在發生的事情之外。

順便說一句,由於原來的Access數據庫在多個用戶下工作正常,我被告知每個用戶都無法擁有自己的Access前端副本,因爲這將成爲維護的噩夢。

回答

2

用戶不應該使用相同的前端副本。他們應該有自己的副本,他們可以在個人的驅動器中保存。

您保留自己的前端副本,對其進行修改,然後將其重新分發給用戶,以替換舊版本。

共享一個前端副本是一個明確的禁忌。這是噩夢......並且是你遇到問題的最可能原因。

+0

謝謝安迪。不幸的是,目前這不是一種選擇。最大的問題是與多個併發用戶一起工作的原始Access數據庫以及認爲使用SQL Server後端遷移的Access應用程序不應該比原始使用或維護更困難的能力。我經常想知道遷移數據庫並使用LightSwitch或Alpha Five重寫前端會更簡單。但考慮到表單之間的相互作用,這將需要重新設計界面。 –

+0

管理員已同意爲每個用戶部署單獨的Access前端。今天早上有11個併發用戶在前端單一副本中沒有問題,但比對不起更安全。 –

+0

這很好。除了延長假期外,我沒有其他建議可以幫助你)。我在服務器上保留了一個前端文件夾,編號爲這些前端,並指示用戶將最新版本複製到他們的個人驅動器。如果你不相信他們這樣做,那麼你可以通過電子郵件向他們發送他們的副本,說明如何將其複製到個人驅動器或本地。 –

相關問題