---------------以下为数据库普通置疑(死机、停电、非法关机等造成)修复方法--------------------
注意:如果无置疑,直接跳到“以下为数据库普通检查,修复语句”章节(本文最下面),一行一行执行。
步骤1:
创建一个新的数据库,命名为原来数据库的名字。
步骤2:
停止SQL Server
步骤3:
把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。
步骤4:
重新启动SQL Server服务,然后运行如下命令:
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
begin tran
update sysdatabases set status = 32768 where name = 'yta5sypro_01'
--Verify one row is updated before committing
commit tran
步骤5:
停止SQL然后重新启动SQL Server服务,然后运行如下命令:
DBCC TRACEON(3604)
DBCC REBUILD_LOG('yta5sypro_01','D:\Program Files\Microsoft SQL Server\MSSQL\Data\yta5sypro_01_log.ldf')
Go
注意:这里路径要写成你的数据库存放的路径。
步骤6:
停止SQL然后重新启动SQL Server服务,然后运行:
use master
update sysdatabases set status = 8 where name = 'yta5sypro_01'
Go
sp_configure 'allow updates', 0
reconfigure with override
Go
步骤7:运行下面语句检查数据库。 注:yta5sypro_01都要替换成真实的数据库名字。
祝你好运!
指法
2008年8月11日 12时30分11秒
---------------以下为数据库普通检查,修复语句--------------------
赢通A5商业(yta5sypro_01),其它数据库自己更改名称。
USE yta5sypro_01
Go
--单用户模式
EXEC sp_dboption 'yta5sypro_01', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('yta5sypro_01')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('yta5sypro_01',repair_rebuild)
Go
--一般的修复多次仍然还有红色的提示文字,你需要采用高级修复
--数据库完全修复
dbcc checkdb('yta5sypro_01',repair_allow_data_loss)
Go
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'yta5sypro_01', 'single user','FALSE'
go
yta5sypro_01 要换成你对应的数据库名称
祝你好运!
指法
2008年8月11日 01时04分22秒
问题补充:其实赢通软件常用工具上也有,请在下载中心下载。
【官方】SQL2000数据库置疑修复经典
- 提问者: 李祥
- 等级:问不倒翁
- 时间:2011-02-27 16:01
- 悬赏:0
- 解决时间:2011-02-27 16:19
快到期问题