一、工具概述
本工具是通過導表手段修復T+數據損壞的工具,僅支持T+產品,T1、T3、T6等產品并不支持。使用工具前,請盡量不要使用【Repair_Allow_Data_Loss】模式對數據進行修復(社區的數據庫修復助手使用的就是該模式),以免數據丟失或數據混亂。
二、使用環境
1、操作系統:支持Windows7 、Windows Vista、Windows8、Windows10
【僅支持64位系統】
注意:非純凈版本的Win7、以及Windows server(服務器專用系統)可能會因為兼容性問題無法打開工具。
2、數據庫版本:需要有損壞賬套一樣版本的數據庫環境
例如:損壞的賬套是Sql2016,那么修復環境必須有Sql2016的數據庫(數據庫的具體版本可以不一致,比如Sql2008r2 和Sql2008Rtm,工具視同Sql2008)
3、T+環境:并不要求一定要有T+環境,修復和是否有T+環境沒有必然關系。
PS:有T+環境只是可以修復后立刻測試。
三、使用說明
1、目錄構成說明
【Config】是存放配置文件的位置
【Data】是存放恢復的數據的位置
【help】是存放說明和T+字典的位置
【logs】是存放日志的位置
【temp】文件夾是存放臨時數據的位置
TplusDBmend.exe是修復工具的二進制可執行程序
以上是工具的基本構成部分,請保證放到一個非桌面路徑的文件夾下,請勿隨意刪除(雖然僅有TplusDBmend.exe時,打開會自動生成這些文件夾,但是help文件夾下的說明和字典不會重建)
2、工具說明
2.1模式說明
A、雙擊TplusDBmend.exe
B、選擇對應的修復模式
【數據庫模式】對應的情況:雖然無法備份賬套,但是數據庫列表里還可以訪問對應的賬套數據,可以讀出賬套信息的情況。
【ZIP備份模式】對應的情況:能正常備份數據,只是特定的操作會報錯,或者打補丁時提示數據損壞的情況。
2.2配置說明
A、進入模式(以ZIP模式圖為例)
B、點開配置選項
2.2配置說明:
數據庫配置部分
【服務器】:指的是數據庫實例名和服務器名的組合
舉例:1、比如本機是默認實例,本機IP 是192.168.2.3,本機計算機名字叫PSX 則服務器這里填寫【192.168.2.3】 ,【127.0.0.1】、【PSX】、【.】均正確
2、比如本機實例名叫SQL2016,本機IP 是192.168.2.3,本機計算機名字叫PSX 則服務器這里填寫【192.168.2.3\SQL2016】 ,【127.0.0.1\SQL2016】、【PSX\SQL2016】、【.\SQL2016】均正確。
【用戶名】:指的是數據庫管理員權限的賬號
PS:通常我們指的是SuperAdmin,填寫的是SA
【密碼】:指的是和用戶名對應的密碼
PS:通常填寫SA對應的密碼
【測試連接】:用來測試數據庫配置是否正確的按鈕,填寫完畢后記得測試下。
模式配置部分
【是否清除冗余數據】:是專門針對ZIP修復模式的,如果勾選【是】,則修復完畢之后,會刪除數據庫中修復時產生的冗余數據,并且會清理Data文件夾下修復產生的多余文件。反之,則會生成多余的數據在數據庫和Data文件夾下,而不會自動清除。(后期可以用【重置狀態】去清除)
【預留輸出模式】:該選項是制作者多做出來以備不時之需的功能,目前沒有任何作用,勾選的選項不對修復產生任何影響。
【是否補全備用賬套】:是專門針對ZIP修復模式的,如果勾選【是】,會在備用賬套沒有選擇的時候,默認以空賬替代。反之,則不會選擇任何數據,這會導致校驗數據有沒有選擇時無法通過。
【是否手動添加修復表】:兩個模式下均有效,勾選【是】,會在檢測完壞表之后,彈出壞表列表的時候,允許手工加入要修復的表名(專門針對特定表需要特別修復的情況)。反之,則不允許修改和增加修復的表名,當沒有損壞的表的情況下,甚至不會彈出壞表列表。
2.3實際修復操作
2.3.1 數據庫修復模式
A、打開程序選擇【數據庫模式】
B、打開選項配置,做好配置
C、點擊【連接】,去選擇對應的數據庫
注意:壞賬、空賬、備用賬套是三個獨立的數據庫不能重復選擇。
備用賬套是用空賬改名恢復的賬套,PS:特殊情況下是用賬套之前正常的備份
D、點擊【開始修復】,等待壞表檢測
注意:如果選了【是否手動添加修復表】的【是】,中間一定會彈出損壞表列表。
如果勾選【是否手動添加修復表】的【否】,并且沒有檢測到壞表,不會彈框,會自動跳入下個步驟
E、完善并確認完壞表能否修復,點擊【確認】繼續修復,【退出】則結束修復
注意:這里的完善是指【研發老師】或者支持網老師有指出有特定表要單獨修復的情況,通常不需要添加,直接點擊【確認】,不清楚是否關鍵表的情況下,可以通過【幫助反饋】按鈕跳轉選擇T+字典查看
F、等待后續的修復步驟自動結束。
注意:如果出現報錯,通過主窗體的【日志】去查看原因。
如果沒有報錯,直接修復完成,修復后的數據為:【新建的空賬】對應的數據庫
G、后續操作:把數據庫服務停止,將新建的空賬的數據庫名字改成壞賬的數據庫名字,替換覆蓋,而后重啟數據庫即可(操作前:記得備份好壞賬的物理文件)
2.3.2 ZIP修復模式
A、打開程序選擇【ZIP備份模式】
B、打開選項配置,做好配置
C、點擊【打開文件】選擇對應的T+zip備份。
注意:如果勾選了【是否補全備用賬套】的【是】,沒有選擇備用的賬套的時候,軟件會自動把空賬備份填到對應位置。反之,則不會自動補充。
PS:備用賬套的目的是在有表損壞的時候,從備用賬套替換過去。
D、點擊【開始修復】,等待壞表檢測
注意:如果選了【是否手動添加修復表】的【是】,中間一定會彈出損壞表列表。
如果勾選【是否手動添加修復表】的【否】,并且沒有檢測到壞表,不會彈框,會自動跳入下個步驟
E、若檢測發現壞表,工具則無法繼續修復,請您提交支持網問題并上傳對應的空白賬套與損壞賬套。
F、等待后續的修復步驟自動結束。
注意:如果出現報錯,通過主窗體的【日志】去查看原因。
如果沒有報錯,直接修復完成,修復后會自動跳轉到工具下的Data\OKzip下,顯示出修復后的備份(原備份+(repaired)命名的zip包)
如果勾選了【是否清除冗余數據】的【是】,則會將修復過程中產生的額外數據都清除,反之則不會。
四、注意事項
Q1:打不開工具,要怎么辦?
A1:工具有些服務器操作系統不兼容,需要更換系統環境,修復只要在數據庫版本一致的環境即可,修復好后一樣可以恢復備份去驗證。
Q2:數據庫連接(信息都填寫正確,為何還是無法連接)
A2:考慮是Tcp\Ip和Named Piped協議沒開
【注:開啟協議后需要重啟數據庫服務才可生效】
Q3:報錯了,但是不清楚具體的原因
A3:可以看日志,將日志信息反饋支持網工程師
Q4:修復后的數據是否能繼續使用
A4:如果
1、只有總賬、報表等簡單的財務模塊
2、沒有做過二開
3、沒有檢測出損壞的表
4、補丁版本能正常升級,是可以繼續使用的。
但是即便如此,這里依舊不建議繼續使用賬套,如果要使用,依然建議橫向導入一個新的賬套去做賬。
Q5:為什么一直用的好好的,突然就數據損壞了,以后繼續使用要如何避免。
A5:數據損壞有以下的原因:
1、異常斷電2、硬盤故障3、計算機病毒4、數據庫軟件異常
Q6:如何減少損壞的情況:
A6:1、盡量避免異常關機2、定期檢查維護硬盤3、做好計算機防毒工作4、盡量使用SQL2012以上版本的數據庫5、升級至t+cloud