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

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

日志

附加数据库报错823

已有 557 次阅读2011-9-18 00:33

数据库因为正在使用突然断电,造成数据库损坏,经千辛万苦将数据文件COPY出来后,附加时报错误823,经过网上搜索CSDN上的一个结果,一次OK~HOHO

 

SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdfTest_log.LDF覆盖刚才新建数据库目录下的Data.mdfTest_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置

疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:

--第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表的开关 */

--第二、

update sysdatabases set status=32768 where name='数据库名' /* 设置数据库状态 */

--第三、

DBCC REBUILD_LOG ('数据库名','E:\database\1204_Log.LDF') /* 重建LDF文件 */(前需要删除LDFHOHO  (这里需要讲一下的是,因为我们前面把日志文件COPY过来了,所以需要先删除LDF文件,再重建,HOHO

--第四、

update sysdatabases set status=0 where name='数据库名' /* 重置数据库状态 */

--第五、

restore database 数据库名 WITH RECOVERY /* 恢复数据库 */

--第六、

exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭打开修改系统表的开关 */

再然后DBCC CHECDB一下,肯定会有一致性错误,此时用我之前有讲过的修改数据库一致性错误的解决办法,一次性解决,OK~

 

alter database ycscmdb1 set single_user -----将数据库置于单用户模式下

use ycscmdb1

dbcc checkdb('ycscmdb1',repair_allow_data_loss) ---修复数据库

dbcc checkdb ('ycscmdb1',REPAIR_REBUILD)        -- 修复数据库索引

alter database ycscmdb1 set multi_user   -----将数据库置于多用户模式下

完了以后再DBCC CHECKDB一下,99.99%OK了,HOHO~


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

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

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

GMT+8, 2024-5-17 04:18 , Processed in 0.026250 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部