本篇文章給大家分享的是有關(guān)SQL Server 中如何恢復(fù)數(shù)據(jù)庫(kù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),日照企業(yè)網(wǎng)站建設(shè),日照品牌網(wǎng)站建設(shè),網(wǎng)站定制,日照網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,日照網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1、在SQL Server Management Studio中顯示數(shù)據(jù)庫(kù)處于置疑(suspect)狀態(tài)。
2、事件日志可能會(huì)出現(xiàn)如下錯(cuò)誤信息:
Could not redo log record (21737:686:9), for transaction ID (0:2334886), on page (1:37527), database 'Test' (database ID 15). Page: LSN = (21735:299:5), type = 2. Log: OpCode = 3, context 19, PrevPageLSN: (21737:615:1). Restore from a backup of the database, or repair the database.
During redoing of a logged operation in database 'Test', an error occurred at log record ID (76116:286:2). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
3、無(wú)法分離數(shù)據(jù)庫(kù)
4、用CREATE DATABASE DBName ON ( FILENAME = N'DBFile' ) FOR ATTACH_REBUILD_LOG附加數(shù)據(jù)庫(kù)時(shí)出現(xiàn)提示:The log cannot be rebuilt because the database was not cleanly shut down.
恢復(fù)方法:
1、停止數(shù)據(jù)庫(kù)服務(wù)。
2、將需要恢復(fù)的數(shù)據(jù)庫(kù)文件復(fù)制到另外的位置。
3、啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。
4、確認(rèn)要恢復(fù)的數(shù)據(jù)庫(kù)文件已經(jīng)成功復(fù)制到另外的位置,然后在SQL Server Management Studio中刪除要恢復(fù)的數(shù)據(jù)庫(kù)。
5、新建同名的數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)文件名也要相同)。
6、停止數(shù)據(jù)庫(kù)服務(wù)。
7、用第2步中備份的.mdf文件覆蓋新數(shù)據(jù)庫(kù)的同名文件。
8、啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)。
9、運(yùn)行alter database dbname set emergency,將數(shù)據(jù)庫(kù)設(shè)置為emergency mode
10、運(yùn)行下面的命令就可以恢復(fù)數(shù)據(jù)庫(kù):
1 2 3 4 5 6 7 8 9 10 11 12 13 | use master
declare @databasename varchar (255)
set @databasename= '要恢復(fù)的數(shù)據(jù)庫(kù)名稱'
exec sp_dboption @databasename, N 'single' , N 'true' --將目標(biāo)數(shù)據(jù)庫(kù)置為單用戶狀態(tài)
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N 'single' , N 'false' --將目標(biāo)數(shù)據(jù)庫(kù)置為多用戶狀態(tài) |
以上就是SQL Server 中如何恢復(fù)數(shù)據(jù)庫(kù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。