sql数据库置疑
以XXX数据库为例:
1.停止SQL Server的服务,备份D:\XXX_data目录下的文件
2.启动SQL Server服务,创建一个新的数据库,命名为原来数据库的名字
若创建新数据库提示已存在,需要在查询分析器执行drop database XXX来删除数据库,然后重新建立新数据库。
3.停止SQL Server
4.把旧数据库的MDF文件(XXX.mdf)覆盖到D:\kmcy_data目录下,替换掉新的mdf文件,并把LDF文件(XXX_log.ldf)删除
5.重新启动SQL Server服务,然后在查询分析器中运行如下命令:
Use Master
go
sp_configure 'allow updates', 1 reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'XXX'
--Verify one row is updated before committing
commit tran
go
6.停止并重新启动SQL Server服务,然后在查询分析器中运行如下命令:
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG('kmcy_v8','D:\kmcy_data\kmcy_v8_log.ldf')
7.停止并重新启动SQL Server服务,然后在查询分析器中运行如下命令:
use master
go
update sysdatabases set status = 8 where name = 'kmcy_v8'
go
sp_configure 'allow updates', 0 reconfigure with override
go
8.运行dbcc checkdb(XXX) 检查数据库的完整性
若执行结果没有红字报错则修复成功,否则进行第9步修复工作
9.修复数库
①在查询分析器中运行如下命令:
USE master
Go
EXEC sp_dboption 'XXX', 'single user', 'TRUE'
go
--此步骤为修改数据库为单用户模式
②继续执行如下命令:
DBCC CHECKDB ('XXX','repair_rebuild')
Go
--此步骤为修复数据库,执行之后若没有红字报错,则修复成功进入第④步。此语句可重复多次执行;如果一直有红字报错,请执行第③步修复操作
③高级修复命令:
DBCC CHECKDB ('XXX','repair_allow_data_loss')
Go
--此步骤为更高级别修复,可能造成部分数据丢失。此语句可重复多次执行,直至修复成功进入第④步。
④修改数据库为多用户模式命令:
EXEC sp_dboption 'XXX', 'single user','FALSE'
go
--退出前请一定要执行以上语句返回到多用户模式
标签:修复,数据库,XXX,Server,sql,SQL,go,置疑 From: https://www.cnblogs.com/aiove/p/18503803/sql-database-is-suspicious-2aemzu