注册账号 登录
用友之家-用友软件论坛 返回首页

liukun0898的个人空间 https://www.oyonyou.com/?276478 [收藏] [复制] [分享] [RSS]

日志

SQL2000数据库置疑解决方法

热度 4已有 732 次阅读2012-2-16 14:53 | 数据库文件, single, status, where, 新建

SQL2000数据库置疑解决方法
2009-03-21 09:12
按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sql server
3.用备份的数据库MDF的文件覆盖掉这个新建的同名数据库文件
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='数据库名'
Go
sp_dboption '数据库名', 'single user', 'true'
Go
DBCC CHECKDB('数据库名')
Go
update sysdatabases set status =28 where name='数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '数据库名', 'single user', 'false'
Go
数据库置疑恢复之经典
/*****************************************************************
* 这类故障是一般是由于磁盘读写问题造成的。
* 下面的语句是修复总部数据库的SQL,如需要修复分部的数据库,请将 'hbposv5' 改为 'hbposv5_branch'
* 超市之星系统直接执行
* 快捷通、进销存系列,请将'hbposv5'改为'isd2001v3',如果是分部,改为'isd2001v3_branch'
* 商务通系列,请将'hbposv5'改为'isd2001v4',如果是分部,改为'isd2001v4_branch'
******************************************************************/
--请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线
USE master
Go
--单用户模式
EXEC sp_dboption 'hbposv5', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('hbposv5')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('hbposv5',repair_rebuild)
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
DBCC CHECKDB ('hbposv5')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,之后再次检查数据库。
--如果还有错误未修复,

--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'hbposv5', 'single user','FALSE'
go

数据库置疑处理方法
步骤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 = 'hbposv5'
--Verify one row is updated before committing
commit tran
步骤5:
停止SQL然后重新启动SQL Server服务,然后运行如下命令:
DBCC TRACEON(3604)
DBCC REBUILD_LOG('db_name','c:\mssql7\data\hbposv5_log.ldf')
Go
步骤6:
停止SQL然后重新启动SQL Server服务,然后运行:
use master
update sysdatabases set status = 8 where name = 'hbposv5'
Go
sp_configure 'allow updates', 0
reconfigure with override
Go
步骤7:
运行dbcc checkdb(hbposv5) 检查数据库的完整性
注:都要替换成真实的数据库名字。
1

路过

雷人
1

握手

鲜花

鸡蛋

刚表态过的朋友 (2 人)

发表评论 评论 (5 个评论)

回复 niuhui 2012-2-17 14:33
顶了
回复 17737720 2012-2-20 17:26
顶一下
回复 高天宇766 2012-3-17 08:25
hehhehe,顶起来呀
回复 490743255aa 2012-3-21 10:02
回复 490743255aa 2012-3-21 10:02

facelist

您需要登录后才可以评论 登录 | 注册账号

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-5-14 08:26 , Processed in 0.045700 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部