SQLsever --数据库置疑
SQL sever 2008以后版本
數據庫狀態顯示置疑,數據庫中執行以下代碼:
ALTER DATABASE 數據庫名稱 SET EMERGENCY
ALTER DATABASE 數據庫名稱 SET SINGLE_USER
DBCC CheckDB (數據庫名稱 , REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE 數據庫名稱 SET MULTI_USER
執行完代碼后,重啟SQL sever 實例 服務。
SQL sever 2000 數據庫置疑:
--1.獲取數據庫路徑
use master?
go
select name,reverse(substring(reverse(filename),charindex('\',reverse(filename)),1000)) ?from sysdatabases?
--2.啟動sql 服務
use master
go
sp_configure 'allow update',1?
reconfigure with override
go
update sysdatabases set status = 32768 where name = '數據庫名稱'
go
--2_1: 停止sql 服務, 刪掉日志文件
--2_2: 啟動sql 服務,重建數據庫日志文件
dbcc rebuild_log('數據庫名稱','d:\MSSQL\data\數據庫名稱.log') ?--最好在原路徑上面吧.文件夾一點要原來就存在,不然會提示錯誤.
go
use master
update sysdatabases set status = 8 where name = '數據庫名稱'
Go
sp_configure'allow updates',0
reconfigure with override
Go
--這個時候.數據庫應該已經不是置疑的.并且可以使用了.只是有部分損壞
--3.修復數據庫
use master?
declare @databasename varchar(255)?
set @databasename='數據庫名稱'?
exec sp_dboption @databasename, N'single', N'true'?
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)?
dbcc checkdb(@databasename,REPAIR_REBUILD)?
exec sp_dboption @databasename, N'single', N'false'
--最后修復完.再dbcc checkdb 檢查一次。
?
總結
以上是生活随笔為你收集整理的SQLsever --数据库置疑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极客时间算法练习题总结
- 下一篇: MT-Retina.js