前言:由于系統(tǒng)損壞導致用友T+只有MDF數(shù)據(jù)庫數(shù)據(jù)文件,那么該如何修復呢?下面來做詳細分享說明。
1、假設某賬套數(shù)據(jù)庫數(shù)據(jù)文件名為:UFTData888250_000003.mdf。首先我們需要在 T+軟件中建立一個賬套,本例中,我們建立了一個 008 賬套。
2、我們需要進數(shù)據(jù)庫查看 008 賬套對應的物理文件名稱,點擊“開始”-“所有程序”-“Microsoft SQL Server 2008 R2”-“SQL Server Management Studio”- 服務器名稱選擇“(local)”,身份驗證選擇“windows 身份驗證”,點擊“連接”按鈕,進入 SQL2008R2 數(shù)據(jù)庫企業(yè)管理器,如下圖所示:


3、點擊“新建查詢”,輸入如下 SQL 語句:select cAcc_Name as 賬套名稱,DsName as 數(shù)據(jù)庫名稱fromUFTSystem..EAP_Account,如下圖所示,查到 008 賬套的數(shù)據(jù)庫名稱為:UFTData55174_000008

4、展開 SQL2008R2 數(shù)據(jù)庫企業(yè)管理器左側(cè)數(shù)據(jù)庫前面的+號,找到 UFTData55174_000008,右擊并選擇“屬性”,查看 MDF 和 LDF 文件所在的路,如下圖所示,可知物理文件存放在 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data 下,

5、打開 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data,查看物理文件是否確實存在,如下圖所示:

6、將之前備份的 UFTData888250_000003.mdf 更名為: UFTData55174_000008.mdf
7、點擊“開始”-“運行”輸入 “net stop mssqlserver”停止數(shù)據(jù)庫服務,(注意:如果安裝的數(shù)據(jù)庫實例名稱不是 mssqlserver,請將 mssqlserver 改成自己的數(shù)據(jù)庫實例名稱)


8、將更名后的 UFTData55174_000008.mdf 拷貝到之前新建 008 賬套的路徑 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data,并替換原文件,如下圖所示:

9、替換完成后,點擊“開始”-“運行”輸入 “net start mssqlserver”啟動數(shù)據(jù)庫服務,(注意:如果安裝的數(shù)據(jù)庫實例名稱不是 mssqlserver,請將 mssqlserver 改成自己的數(shù)據(jù)庫實例名稱)


10、此時登錄 T+軟件,會發(fā)現(xiàn)輸入用戶名密碼后找不到對應的賬套,進入 SQL 2008 R2 企業(yè)管理器,點擊 UFTData55174_000008 時,提示“ 無法訪問數(shù)據(jù)庫 UFTData55174_000008 。(objectExplorer)”如下圖所示:

11、出現(xiàn)上述錯誤的原因是由于我們新建賬套的 LDF 文件,并不是恢復的賬套對應的 LDF 文件,所以我們需要使用語句重建 LDF 文件。
use master
go
alter database UFTData55174_000008 set emergency
go
alter database UFTData55174_000008 set single_user with rollback immediate
go
alter database UFTData55174_000008 Rebuild Log on
(name=SuspectDB_log,filename='D:/Log/UFTData55174_000008.LDF') go
alter database UFTData55174_000008 set multi_user
go

注意查看數(shù)據(jù)庫給出的提示,如下表示重建LDF文件成功了! 消息5105,級別16,狀態(tài)2,第1 行出現(xiàn)文件激活錯誤。物理文件名'D:/Log/UFTData55174_000008.LDF' 可能不正確。請診斷并更正其他錯誤,然后重試此操作。
警告: 數(shù)據(jù)庫'UFTData55174_000008' 的日志已重新生成。已失去事務的一致性。RESTORE 鏈已斷開,服務器不再有以前的日志文件的上下文,因此您需要了解它們的內(nèi)容。應運行DBCC CHECKDB 驗證物理一致性。數(shù)據(jù)庫已置于dbo-only 模式。在準備使數(shù)據(jù)庫可用時,需要重置數(shù)據(jù)庫選項,并刪除所有多余的日志文件。
12、右擊 SQL 2008 R2 企業(yè)管理器左側(cè)的數(shù)據(jù)庫,選擇“刷新”刷新一下數(shù)據(jù)庫狀態(tài),并點開UFTData55174_000008 前面的+號,看能否正常打開。(注:在 MDF 文件無損壞的情況,按上述操作后如果正常打開,表示重建 LDF 文件成功,修復完成,如果不能正常打開,可能是操作有誤, 請參照前面的步驟重新操作。)

13、注意 ,照上述方法修復后 ,008 賬套的MDF文件在C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data,而 LDF 文件卻在 D:\log\下,如下圖所示(為了后續(xù)數(shù)據(jù)安全起見,我們需要將 MDF 和 LDF 文件放在一塊):

14、在 SQL 2008 R2 企業(yè)管理器中,右擊 UFTData55174_000008 選擇“任務”,選擇“分離”,勾上“刪除鏈接”點擊“確定”按鈕,如下圖所示:


15、分離成功后將 D:\log 下的 UFTData55174_000008.LDF 文件拷貝到C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data 下,如下圖所示:

16、在 SQL 2008 R2 企業(yè)管理器中,左側(cè)右擊數(shù)據(jù)庫,選擇“附加”如下圖所示:

17、在附加數(shù)據(jù)庫窗口中選擇 “ 添 加 ” 按鈕,選擇 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data\ UFTData55174_000008,點擊“確定”后,檢查一下附加的數(shù)據(jù)庫名稱,及附加的 MDF 和 LDF 文件是否正確,確定準確無誤后,點擊確定,執(zhí)行附加數(shù)據(jù)庫操作,如下圖所示:



18、附加成功后用原來備份的賬套的用戶名和密碼登錄軟件,登錄正常。
至此就分享完畢了,建議小伙們收藏并轉(zhuǎn)發(fā),不明白的小伙伴們可以聯(lián)系我們!
補充:提供東莞用友軟件,深圳用友軟件,用友財務軟件,倉儲管理系統(tǒng),用友ERP管理系統(tǒng),MES系統(tǒng)等。