問題背景
一客戶“銷售發(fā)貨單”反饋無法添加瓮增,不管是一條數(shù)據(jù)還是多條數(shù)據(jù),都是轉半天后報“超時”的錯誤哩俭。
測試+檢查+疑問
經檢查核實(關閉所有check绷跑、EV、知會凡资、審批砸捏,還是報超時錯誤)未找到癥結;使用SQL?Server?Profiler跟蹤亦未發(fā)現(xiàn)有其他語句影響效率隙赁,但可以發(fā)現(xiàn)發(fā)貨單新增寫入數(shù)據(jù)時時間很長占用資源很大垦藏,切久久不會釋放,如下圖:
再次檢查
這說明系統(tǒng)正常單據(jù)寫入出現(xiàn)問題伞访;后尋求波哥協(xié)助掂骏,通過 語句 dbcc?checkdb('AErp_HC') 檢查該數(shù)據(jù)發(fā)現(xiàn)異常;
解決
通過修復語句完成對數(shù)據(jù)庫修復 ??dbcc checkdb('AErp_HC', repair_allow_data_loss)厚掷;
注意:
A.為保險起見弟灼,需要先備份數(shù)據(jù)庫;
B.執(zhí)行修復語句時報錯提示:“未處理修復語句冒黑,數(shù)據(jù)庫需處于單用戶模式下田绑。”
將數(shù)據(jù)庫設置為單用戶模式:SQL對象資源管理器/找到對應數(shù)據(jù)庫AErp_HC/右擊-屬性/選項/狀態(tài)限制訪問做如下設置
設置好后抡爹,再次執(zhí)行修復語句即可掩驱,修復后測試,發(fā)貨單可正常保存。
分析
預計是日常服務器非正常斷電昙篙、SQL進程異常終止或其他原因引起腊状!最終完美解決~