前言:由于系統損壞導致用友T+只有MDF數據庫數據文件,那么該如何修復呢?下面來做詳細分享說明。
1、假設某賬套數據庫數據文件名為:UFTData888250_000003.mdf。首先我們需要在 T+軟件中建立一個賬套,本例中,我們建立了一個 008 賬套。
2、我們需要進數據庫查看 008 賬套對應的物理文件名稱,點擊“開始”-“所有程序”-“Microsoft SQL Server 2008 R2”-“SQL Server Management Studio”- 服務器名稱選擇“(local)”,身份驗證選擇“windows 身份驗證”,點擊“連接”按鈕,進入 SQL2008R2 數據庫企業管理器,如下圖所示:
3、點擊“新建查詢”,輸入如下 SQL 語句:select cAcc_Name as 賬套名稱,DsName as 數據庫名稱fromUFTSystem..EAP_Account,如下圖所示,查到 008 賬套的數據庫名稱為:UFTData55174_000008
4、展開 SQL2008R2 數據庫企業管理器左側數據庫前面的+號,找到 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”停止數據庫服務,(注意:如果安裝的數據庫實例名稱不是 mssqlserver,請將 mssqlserver 改成自己的數據庫實例名稱)
8、將更名后的 UFTData55174_000008.mdf 拷貝到之前新建 008 賬套的路徑 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data,并替換原文件,如下圖所示:
9、替換完成后,點擊“開始”-“運行”輸入 “net start mssqlserver”啟動數據庫服務,(注意:如果安裝的數據庫實例名稱不是 mssqlserver,請將 mssqlserver 改成自己的數據庫實例名稱)
10、此時登錄 T+軟件,會發現輸入用戶名密碼后找不到對應的賬套,進入 SQL 2008 R2 企業管理器,點擊 UFTData55174_000008 時,提示“ 無法訪問數據庫 UFTData55174_000008 。(objectExplorer)”如下圖所示:
11、出現上述錯誤的原因是由于我們新建賬套的 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
注意查看數據庫給出的提示,如下表示重建LDF文件成功了! 消息5105,級別16,狀態2,第1 行出現文件激活錯誤。物理文件名'D:/Log/UFTData55174_000008.LDF' 可能不正確。請診斷并更正其他錯誤,然后重試此操作。
警告: 數據庫'UFTData55174_000008' 的日志已重新生成。已失去事務的一致性。RESTORE 鏈已斷開,服務器不再有以前的日志文件的上下文,因此您需要了解它們的內容。應運行DBCC CHECKDB 驗證物理一致性。數據庫已置于dbo-only 模式。在準備使數據庫可用時,需要重置數據庫選項,并刪除所有多余的日志文件。
12、右擊 SQL 2008 R2 企業管理器左側的數據庫,選擇“刷新”刷新一下數據庫狀態,并點開UFTData55174_000008 前面的+號,看能否正常打開。(注:在 MDF 文件無損壞的情況,按上述操作后如果正常打開,表示重建 LDF 文件成功,修復完成,如果不能正常打開,可能是操作有誤, 請參照前面的步驟重新操作。)
13、注意 ,照上述方法修復后 ,008 賬套的MDF文件在C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data,而 LDF 文件卻在 D:\log\下,如下圖所示(為了后續數據安全起見,我們需要將 MDF 和 LDF 文件放在一塊):
14、在 SQL 2008 R2 企業管理器中,右擊 UFTData55174_000008 選擇“任務”,選擇“分離”,勾上“刪除鏈接”點擊“確定”按鈕,如下圖所示:
15、分離成功后將 D:\log 下的 UFTData55174_000008.LDF 文件拷貝到C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data 下,如下圖所示:
16、在 SQL 2008 R2 企業管理器中,左側右擊數據庫,選擇“附加”如下圖所示:
17、在附加數據庫窗口中選擇 “ 添 加 ” 按鈕,選擇 C:\Program Files (x86)\Chanjet\TPlus11510\DBServer\data\ UFTData55174_000008,點擊“確定”后,檢查一下附加的數據庫名稱,及附加的 MDF 和 LDF 文件是否正確,確定準確無誤后,點擊確定,執行附加數據庫操作,如下圖所示:
18、附加成功后用原來備份的賬套的用戶名和密碼登錄軟件,登錄正常。
至此就分享完畢了,建議小伙們收藏并轉發,不明白的小伙伴們可以聯系我們!
補充:提供東莞用友軟件,深圳用友軟件,用友財務軟件,倉儲管理系統,用友ERP管理系統,MES系統等。