SQL2008 無日志附加MDF文件


 SQL數據在附加的時候..有時會因為日志文件過大..或者一些其他問題造成附加失敗..

 筆者遇到的問題是數據庫主文件(*.mdf)超過25G..日志文件超過200G..附加的耗時簡直日了狗了..最后超時..附加失敗..

 所以就在想不要這個日志文件了行不行..最后發現了這篇文章.. 閱讀原文<SQL Server附加數據庫時報1813錯誤的解決方案> ..以下是對這篇文章的整理和補充..

 

主要報錯信息

無法重新生成日志,原因是數據庫關閉時存在打開的事務/用戶,該數據庫沒有檢查點或者該數據庫是只讀的。

 

解決的方案:

1. 新建一個同名的數據庫.最好是區分大小寫.. 甚至創建時的邏輯名都盡量保持一致

2. 關閉SQL服務..不要分離新建的庫..(以下是命令..在"運行"窗口執行)

Net Stop MsSqlserver

3. 這個時候因為服務停掉了..所以可以操作實際的數據文件*.mdf..用原有的同名mdf文件覆蓋新建庫的mdf文件..然后啟動sql服務...(以下是命令..在"運行"窗口執行)

Net Start MsSqlserver

   這時系統還沒有檢查異常..先別刷新..

4. 按順序執行以下語句,, 注意看注釋 有跳過的語句

    把NewDBName改成你的數據庫名字

--設置庫為緊急狀態
alter database NewDBName set emergency

--設置為單用戶模式
alter database NewDBName set single_user

--檢查並重建日志文件
dbcc checkdb('NewDBName',REPAIR_ALLOW_DATA_LOSS)

--上條執行時間比較長。耐心等待!
--如果報錯..執行以下, 沒有報錯..可以跳過
dbcc checkdb('NewDBName',REPAIR_REBUILD)

--恢復成多用戶模式
alter database NewDBName set multi_user

 

一般執行到這里就已經好了..

刷新看看..

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM