mysql 日志丢失_失而复得数据库日志文件丢失后的恢复
前幾天聽英語用到虛擬光驅(qū)裝resseta stone ,沒想到各種不順,把我的本本給整癱瘓了。后來重整旗鼓,裝了云端,總算是把它搞定了,由于癱瘓來的很突然,所以我的一些數(shù)據(jù)不小心丟了一些。我新建的數(shù)據(jù)庫日志文件就悲催的丟啦。其實新建一個數(shù)據(jù)庫完全可以,只
前幾天聽英語用到虛擬光驅(qū)裝resseta stone ,沒想到各種不順,把我的本本給整癱瘓了。后來重整旗鼓,裝了云端,總算是把它搞定了,由于癱瘓來的很突然,所以我的一些數(shù)據(jù)不小心丟了一些。我新建的數(shù)據(jù)庫日志文件就悲催的丟啦。其實新建一個數(shù)據(jù)庫完全可以,只是覺得現(xiàn)在碰到了,而且也不是沒有時間,可以查找一下解決方案,以備以后自己和他人遇到一些類似的情況不必再犯難。
下面來說一下恢復(fù)方法:
如果你的數(shù)據(jù)還在數(shù)據(jù)庫服務(wù)器中,請執(zhí)行,一下三步
1、停止數(shù)據(jù)庫服務(wù)。
2、將需要恢復(fù)的數(shù)據(jù)庫文件復(fù)制到另外的位置,然后在SQL Server
Management Studio中刪除要恢復(fù)的數(shù)據(jù)庫。
3、啟動數(shù)據(jù)庫服務(wù)。
接下來
1、新建同名的數(shù)據(jù)庫(數(shù)據(jù)庫文件名也要相同)。
2、停止數(shù)據(jù)庫服務(wù)。
3、用備份的.mdf文件覆蓋新數(shù)據(jù)庫的同名文件。
4、啟動數(shù)據(jù)庫服務(wù)。
5、在查詢分析器中:運行如下代碼將數(shù)據(jù)庫設(shè)置為緊急狀態(tài)
alter database dbname set emergency
例如恢復(fù)的數(shù)據(jù)庫名為:MRcharge,圖如下
6、然后再查詢中輸入如下語句就可以恢復(fù)數(shù)據(jù)庫了:
use master
declare @databasename varchar(255)
set @databasename='MRcharge'
exec sp_dboption @databasename, N'single', N'true' --將恢復(fù)數(shù)據(jù)庫置為單用戶狀態(tài)
dbcc checkdb('MRcharge',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('MRcharge',REPAIR_REBUILD)
exec sp_dboption 'MRcharge', N'single', N'false' --最后再將恢復(fù)數(shù)據(jù)庫置為多用戶狀態(tài)
注意:這種方法恢復(fù)必須保證你建立數(shù)據(jù)庫和恢復(fù)數(shù)據(jù)庫用的是統(tǒng)一版本,即:都是sql server 2000,或者2005,或者2008。
我曾想用sql server 2008恢復(fù)2005的數(shù)據(jù)庫,結(jié)果提示版本過低,無法打開,需要升級,
于是我在建數(shù)據(jù)庫的時候特意把兼容級別改成2005的,結(jié)果還是一樣。
跨版本恢復(fù)待求解,請指點。
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的mysql 日志丢失_失而复得数据库日志文件丢失后的恢复的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 社保卡怎么更改手机号
- 下一篇: 快速mysql导入sql文件_mysql