Access 資料庫損毀


昨天在委辦單位那邊我開發的系統中,存放資料的資料庫那台無回應,造成後端許多系統無法執行展示。資料庫那台平常沒人管,所以請維護人員檢查一下,螢幕打開後,發現完全無回應,包含系統是黑螢幕,電腦死當。
具維護人員說,前天冷氣有問題,關機檢修,所以造成一堆密集的電腦全掛,也不只資料庫這台,所以可能是機温過高。冷氣打開後,重新開機就正常了,遠端看,畫面也都有反應了,算是沒問題。今天遠端檢修,發覺自昨天當機以後,新資料就沒有進來了,維護人員則不知道發生何事,所以我自己跑一趟去看看。
是資料擷取程式發生問題,導致無新資料進來,從事件檢視簿來看,是 .Net framework 2.0 odbcConnection 發生錯誤事件 5000 ,擲出例外訊息,資料擷取程式會先將資料寫入備份資料庫 Access ,再寫入主服務資料庫 SQL Server 2005 ,都是用 odbcConnection 去連,所以不太確定問題在哪,Access 資料庫、跟 SQL Server 2005 也分別可以開啟,只好手動執行排程檢視,執行期間會將目前狀況回應在螢幕提示視窗上,前面跑的順順的,忽然在其中某一站發生問題,導致中斷,依據前面的錯誤訊息判斷,大概是備份的 Access 資料庫發生損毀,把 Access 資料庫用壓縮及修復跑一遍,再重新執行資料擷取,即可正常執行。推論可能是昨天發生過熱當機時,可能正在更新 Access 資料庫,導致 Access 資料庫損毀。
由於委辦單位的多個上游中,有的希望使用 MySQL 作為核心資料庫,但是測站本身有罕用字,目前 MySQL 當作核心資料庫會很麻煩,所以委辦單位本身用 SQL Server ,沒意見的上游也用 SQL Server ,只有少量資料需求的則使用 Access 檔,系統資料庫維護的就寫在外面,讓系統同時支援 Access / SQL Server / MySQL ,所以選用 Access 做為備份資料庫,若委辦單位上游資料庫發生損毀,則直接用 Access 檔匯入 MySQL ,若是 SQL Server 出問題,也可以用 Access 匯入,平常資料傳遞則透過資料擷取程式以加密方式傳送到上游跟我這備份。每年年度繳交給上游的資料檔,僅需把該 Access 檔案燒錄起來即可,滿方便的。
目前該 Access 檔內約有 1,274 萬筆 4 欄資料,這是第一次發生資料損毀,壓縮及修復完成即可,還是因為過熱當機造成,拿來當備份算是還不錯的選擇。
廣告
Categories: 決策支援系統 | 發表留言

文章分頁導航

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: