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