数据库质疑修复

--------------以下为SQL2008数据库置疑(死机、停电等)修复方法--------------------

紧急模式:
alter database yta5sypro_01 set emergency
单用户模式:
alter database yta5sypro_01 set single_user
数据库检查:
dbcc checkdb (yta5sypro_01)
数据库高级修复:(日志文件如果损坏会自动生成)
dbcc checkdb (yta5sypro_01, repair_allow_data_loss)
取消紧急、恢复多用户:
alter database yta5sypro_01 set multi_user


---------------以下为SQL2000数据库置疑(死机、停电等)修复方法--------------------

注意:如果无置疑,直接跳到“以下为数据库普通检查修复语句”章节(本文最下面),一行一行执行。

步骤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'
commit tran
--执行下一步前请验证是否提示:配置选项 'allow updates' 已从 0 更改为 1

步骤5:停止SQL然后重新启动SQL Server服务,然后运行如下命令:
DBCC TRACEON(3604)
DBCC REBUILD_LOG('yta5sypro_01','D:\赢通软件账套数据\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都要替换成真实数据库名字


---------------以下为数据库(SQL2000、2008通用)普通检查修复语句--------------------
赢通A5商业(yta5sypro_01),其它数据库自己更改名称
USE yta5sypro_01 
--单用户模式 
EXEC sp_dboption 'yta5sypro_01', 'single user', 'TRUE' 
--数据库检查 
DBCC CHECKDB ('yta5sypro_01') 
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复 
--数据库普通修复 
DBCC CHECKDB ('yta5sypro_01',repair_rebuild) 
--一般的修复多次仍然还有红色的提示文字,你需要采用高级修复
--数据库高级修复(修复多次仍有红色文字,交替执行普通修复与高级修复)
dbcc checkdb('yta5sypro_01',repair_allow_data_loss)
--退出前请一定要执行以下语句返回到多用户模式 
EXEC sp_dboption 'yta5sypro_01', 'single user','FALSE' 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值