亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

如何恢復(fù)沒有日志的MSSQL數(shù)據(jù)庫

添加時間:2012-12-3 17:32:51  添加: 思海網(wǎng)絡(luò) 

很多時候因?yàn)閭浞莼蚱渌?導(dǎo)致了數(shù)據(jù)庫的LOG日志文件丟失,在通過正常的SQL企業(yè)管理器無法附加數(shù)據(jù)庫文件時,我們該怎么辦呢?

下面介紹兩種方法給大家參考:

方法一

1.新建一個同名的數(shù)據(jù)庫

2.再停掉sqlserver(注意不要分離數(shù)據(jù)庫)

3.用原數(shù)據(jù)庫的數(shù)據(jù)文件覆蓋掉這個新建的數(shù)據(jù)庫

4.再重啟sqlserver

5.此時打開企業(yè)管理器時會出現(xiàn)置疑,先不管,執(zhí)行下面的語句(注意修改其中的數(shù)據(jù)庫名)

6.完成后一般就可以訪問數(shù)據(jù)庫中的數(shù)據(jù)了,這時,數(shù)據(jù)庫本身一般還要問題,解決辦法是,利用
數(shù)據(jù)庫的腳本創(chuàng)建一個新的數(shù)據(jù)庫,并將數(shù)據(jù)導(dǎo)進(jìn)去就行了.

USEMASTER
GO

SP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDE
GO

UPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的數(shù)據(jù)庫名'
Go

sp_dboption'置疑的數(shù)據(jù)庫名','singleuser','true'
Go

DBCCCHECKDB('置疑的數(shù)據(jù)庫名')
Go

updatesysdatabasessetstatus=28wherename='置疑的數(shù)據(jù)庫名'
Go

sp_configure'allowupdates',0reconfigurewithoverride
Go

sp_dboption'置疑的數(shù)據(jù)庫名','singleuser','false'
Go

方法二

事情的起因

昨天,系統(tǒng)管理員告訴我,我們一個內(nèi)部應(yīng)用數(shù)據(jù)庫所在的磁盤空間不足了。我注意到數(shù)據(jù)庫事件日志文件XXX_Data.ldf文件已經(jīng)增長到了3GB,于是我決意縮小這個日志文件。經(jīng)過收縮數(shù)據(jù)庫等操作未果后,我犯了一個自進(jìn)入行業(yè)以來的最大最愚蠢的錯誤:竟然誤刪除了這個日志文件!后來我看到所有論及數(shù)據(jù)庫恢復(fù)的文章上都說道:“無論如何都要保證數(shù)據(jù)庫日志文件存在,它至關(guān)重要”,甚至微軟甚至有一篇KB文章講如何只靠日志文件恢復(fù)數(shù)據(jù)庫的。我真是不知道我那時候是怎么想的?!

這下子壞了!這個數(shù)據(jù)庫連不上了,企業(yè)管理器在它的旁邊寫著“(置疑)”。而且最要命的,這個數(shù)據(jù)庫從來沒有備份了。我唯一找得到的是遷移半年前的另外一個數(shù)據(jù)庫服務(wù)器,應(yīng)用倒是能用了,但是少了許多記錄、表和存儲過程。真希望這只是一場噩夢!

沒有效果的恢復(fù)步驟

附加數(shù)據(jù)庫

_Rambo講過被刪除日志文件中不存在活動日志時,可以這么做來恢復(fù):

1,分離被置疑的數(shù)據(jù)庫,可以使用sp_detach_db
2,附加數(shù)據(jù)庫,可以使用sp_attach_single_file_db

但是,很遺憾,執(zhí)行之后,SQLServer質(zhì)疑數(shù)據(jù)文件和日志文件不符,所以無法附加數(shù)據(jù)庫數(shù)據(jù)文件。

DTS數(shù)據(jù)導(dǎo)出

不行,無法讀取XXX數(shù)據(jù)庫,DTSWizard報(bào)告說“初始化上下文發(fā)生錯誤”。

緊急模式

怡紅公子講過沒有日志用于恢復(fù)時,可以這么做:

1,把數(shù)據(jù)庫設(shè)置為emergencymode

2,重新建立一個log文件

3,把SQLServer重新啟動一下

4,把應(yīng)用數(shù)據(jù)庫設(shè)置成單用戶模式

5,做DBCCCHECKDB

6,如果沒有什么大問題就可以把數(shù)據(jù)庫狀態(tài)改回去了,記得別忘了把系統(tǒng)表的修改選項(xiàng)關(guān)掉

我實(shí)踐了一下,把應(yīng)用數(shù)據(jù)庫的數(shù)據(jù)文件移走,重新建立一個同名的數(shù)據(jù)庫XXX,然后停掉SQL服務(wù),把原來的數(shù)據(jù)文件再覆蓋回來。之后,按照怡紅公子的步驟走。

但是,也很遺憾,除了第2步之外,其他步驟執(zhí)行非常成功。可惜,重啟SQLServer之后,這個應(yīng)用數(shù)據(jù)庫仍然是置疑!

不過,讓我欣慰的是,這么做之后,倒是能夠Select數(shù)據(jù)了,讓我大出一口氣。只不過,組件使用數(shù)據(jù)庫時,報(bào)告說:“發(fā)生錯誤:-2147467259,未能在數(shù)據(jù)庫'XXX'中運(yùn)行BEGINTRANSACTION,因?yàn)樵摂?shù)據(jù)庫處于回避恢復(fù)模式。”

最終成功恢復(fù)的全部步驟
設(shè)置數(shù)據(jù)庫為緊急模式
停掉SQLServer服務(wù);
把應(yīng)用數(shù)據(jù)庫的數(shù)據(jù)文件XXX_Data.mdf移走;
重新建立一個同名的數(shù)據(jù)庫XXX;
停掉SQL服務(wù);
把原來的數(shù)據(jù)文件再覆蓋回來;
運(yùn)行以下語句,把該數(shù)據(jù)庫設(shè)置為緊急模式;
運(yùn)行“UseMaster
Go
sp_configure'allowupdates',1
reconfigurewithoverride
Go”

執(zhí)行結(jié)果:
DBCC執(zhí)行完畢。如果DBCC輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。
已將配置選項(xiàng)'allowupdates'從0改為1。請運(yùn)行RECONFIGURE語句以安裝。

接著運(yùn)行“updatesysdatabasessetstatus=32768wherename='XXX'”
執(zhí)行結(jié)果:
(所影響的行數(shù)為1行)

重啟SQLServer服務(wù);

運(yùn)行以下語句,把應(yīng)用數(shù)據(jù)庫設(shè)置為SingleUser模式;

運(yùn)行“sp_dboption'XXX','singleuser','true'”

執(zhí)行結(jié)果:

命令已成功完成。

做DBCCCHECKDB;

運(yùn)行“DBCCCHECKDB('XXX')”

執(zhí)行結(jié)果:

'XXX'的DBCC結(jié)果。

'sysobjects'的DBCC結(jié)果。

對象'sysobjects'有273行,這些行位于5頁中。

'sysindexes'的DBCC結(jié)果。

對象'sysindexes'有202行,這些行位于7頁中。

'syscolumns'的DBCC結(jié)果。

………

運(yùn)行以下語句把系統(tǒng)表的修改選項(xiàng)關(guān)掉;

運(yùn)行“sp_resetstatus"XXX"

go

sp_configure'allowupdates',0

reconfigurewithoverride

Go”

執(zhí)行結(jié)果:

在sysdatabases中更新數(shù)據(jù)庫'XXX'的條目之前,模式=0,狀態(tài)=28(狀態(tài)suspect_bit=0),

沒有更新sysdatabases中的任何行,因?yàn)橐颜_地重置了模式和狀態(tài)。沒有錯誤,未進(jìn)行任何更改。

DBCC執(zhí)行完畢。如果DBCC輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

已將配置選項(xiàng)'allowupdates'從1改為0。請運(yùn)行RECONFIGURE語句以安裝。

重新建立另外一個數(shù)據(jù)庫XXX.Lost;

DTS導(dǎo)出向?qū)?/B>

運(yùn)行DTS導(dǎo)出向?qū)В?/P>

復(fù)制源選擇EmergencyMode的數(shù)據(jù)庫XXX,導(dǎo)入到XXX.Lost;

選擇“在SQLServer數(shù)據(jù)庫之間復(fù)制對象和數(shù)據(jù)”,試了多次,好像不行,只是復(fù)制過來了所有表結(jié)構(gòu),但是沒有數(shù)據(jù),也沒有視圖和存儲過程,而且DTS向?qū)ё詈髨?bào)告復(fù)制失敗;

所以最后選擇“從源數(shù)據(jù)庫復(fù)制表和視圖”,但是后來發(fā)現(xiàn),這樣總是只能復(fù)制一部分表記錄;

于是選擇“用一條查詢指定要傳輸?shù)臄?shù)據(jù)”,缺哪個表記錄,就導(dǎo)哪個;

視圖和存儲過程是執(zhí)行SQL語句添加的。

這樣,XXX.Lost數(shù)據(jù)庫就可以替換原來的應(yīng)用數(shù)據(jù)庫了

關(guān)鍵字:MSSQL數(shù)據(jù)庫、日志

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎  警警  手機(jī)打開網(wǎng)站