寫這個東西只是為了記錄一下作為新手的自己經(jīng)歷,大家就不要吐得厲害哇,呵呵。。。。
1、新建一個數(shù)據(jù)庫名相同的數(shù)據(jù)庫
2、停止sql實例服務(wù)
3、把數(shù)據(jù)庫文件覆蓋新的數(shù)據(jù)庫文件
4、啟動實例服務(wù)
5、執(zhí)行以下語句
alter database dbname set emergency--緊急模式
go
alter database dbnameset single_user--單用戶
go
--開始修復(fù),這部分如果報錯不用管
dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)
go
dbcc checkdb(dbname,REPAIR_REBUILD)
go
dbcc checkdb(dbname)
go
--修改數(shù)據(jù)庫為多用戶模式
alter database dbnameset multi_user
然后這里就可以了???網(wǎng)上很多都是這樣子,但都是水的,親測無效,
如果數(shù)據(jù)庫是正常狀態(tài)的話是可以的,但是如果數(shù)據(jù)庫還處于緊急狀態(tài)的話,就無法備份的。
SELECT DATABASEPROPERTYEX('turbocrm701', 'Status') --查看狀態(tài)emergency
如果還是緊急狀態(tài)可以做如下處理:
alter databasedbnameset single_user--單用戶
go
--重建數(shù)據(jù)庫日志文件
ALTER DATABASE dbnameREBUILD LOG ON (NAME=dbname_log',FILENAME='C:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/MSSQL/DATA/dbname_log.ldf')
如果原數(shù)據(jù)庫文件沒改名字的話,會提示已經(jīng)存在之類的話
改下名字再執(zhí)行,如果成功的話再執(zhí)行
--
alter database dbname set multi_user
go
ALTER DATABASE dbname SET ONLINESELECT DATABASEPROPERTYEX('dbname', 'Status')
如果狀態(tài)還沒改過來我也沒辦法了
新聞熱點
疑難解答
圖片精選