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


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

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

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

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


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

9、替換完成后,點(diǎn)擊“開(kāi)始”-“運(yùn)行”輸入 “net start mssqlserver”啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),(注意:如果安裝的數(shù)據(jù)庫(kù)實(shí)例名稱不是 mssqlserver,請(qǐng)將 mssqlserver 改成自己的數(shù)據(jù)庫(kù)實(shí)例名稱)


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

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

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

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


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

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

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



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