Posts

Showing posts from July, 2014

[SQL Server] 資料遺失後的檢討

Image
前言:
公司的SQL Server有不同的Job(工作)每天負責把AS400的資料匯入到SQL Server。身為DBA當然要確保這些Job是OK。由於這些Job是由業務系統的管理員提供需求再由我來寫,對於Job的內容其實全不知情,這就是問題所在(哀)。


上星期接到業務部門投訴在公司網站上找不到一個多月前的申請,同事叫了我去查資料庫,果然出了意外。這個資料表每天給AS400的舊資料覆寫,造成新紀錄只能在SQL Server內存在一天。又剛好我們的第三方備份只保存一個月,又剛好我們沒有使用SQL Server內建的備份功能,當然,我就是回不去了....


至於結果,人家部門才不會理你是你的錯還是其他人的錯,總之資料不見了就是DBA的問題。最後好不容易堐過了幾場補救方案的會議....

問題:

只有一個月的備份足夠嗎?SQL Server只有Transaction log可以把資料救回來嗎?研究
第一點:個人建議三個月是比較穩妥的做法。之於我們公司不知為什麼硬碟空間少得非常可憐,可以考慮每星期Full backup, 然後每天Diff的做法。總之,只備份一個月的確有很多難以估計的風險。

第二點:不行,死心吧。Transaction Log是交易的Delta資料,如果最初的時候沒有做一次Full Backup, 因為沒有被參照的完整備份,光有Transaction log是沒用的。如果你的SQL Server選擇的是Full Recovery, 可以看下這張圖,這張圖清楚說明先有Full backup後面的log才有意義。清楚的說明可以參考Microsoft這篇文章。 同學,死心吧...


總結: 異質資料庫資料同步的確是個很難搞的問題,會有很多不可預期的因素,因此個人是認為資源許可的話還是把備份時間盡量拉長,如果空間不足可以選擇Diff BackUp把備份時間再保持多一點點...
參考資料: Differential Database Backups

[軟體] 在Windows7 安裝骨灰級學倉頡軟體--快快樂樂學倉頡

Image
前言:話說我們這些用電腦宅齡超過十五年以上的挨踢人聚在一起的時候總喜歡提一些當年的技術,Duron鉛筆超頻這種骨灰級方案在圈裡是常識吧XD。
突然有朋友提到"快快樂樂學倉頡"這套DOS 1.0年代用來學打字的軟體,應該是很多港澳挨踢人的集體回憶吧。
有沒有方法在Windows7上回憶一下呢?答案當然是有啦!


方法:這次我們會用到DOSBox這套軟體。根據官網說法"DOSBox is an emulator that recreates a MS-DOS compatible environment"。顧名思義DOSBOX就是一台MS-DOS的虛擬機器囉。安裝好以後在裡面安裝快快樂樂學倉頡基本上就OK了。準備工作: 根據貴用戶的要OS, 先到這裡下載相對應的DOSBox版本,我裝的是Windows版本。快快樂樂學倉頡的執行檔。(沒有的話可以私下問我)
步驟:
裝好了以後按下圖示開啟進入到DOSBox主畫面
由於這裡是MS-DOS的虛擬機器,當然不會有任何其他檔案,接下來我們要把裝住 "快快樂樂學倉頡" 的資料夾掛載(Mount)到虛擬機器去。這裡裝住軟體的資料夾叫 "HPCJ",所以在浮標上輸入mount C: C:\Users\xxxxx\Documents\Software\HPCJ
這句的意思是mount a disk called "C:", and its location is "C:\Users\xxxxx\Documents\Software\HPCJ",搞定以後按確定。就會出現已經mount好的訊息。接下來可以直接存取"快快樂樂學倉頡" 資料夾的內容了。先輸入C: 然後按確定跳到剛掛載的C:
直接輸入"快快樂樂學倉頡"的exe名稱按確認。例如我的是Open.exe,按enter。
登登~!!成功了。



打了這麼多年,其實我打字速度也不快就是了。囧rz