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