sql 2000发生3624错误

网上找到两种做法,下面的这个正解。有一个直接dbcc的不行。

Sql2000数据的附加时出错:



错误 3624

location:recovery.c:1996

express:curr->lon_length>0

spdi:51

process id:768

最后提示附加失败

cnpeadata

服务器: 消息 5105,级别 16,状态 4,行 1

设备激活错误。物理文件名 'f:\database\fdzz1204_Data.ldf' 可能有误。



解决:

新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未suspect



然后把数据库改成紧急模式:

sp_configure 'allow', 1

reconfigure with override

update sysdatabases set status = 32768 where name = '
数据库名'



LDF文件改名,再执行

DBCC REBUILD_LOG ('
数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )



恢复数据库紧急模式

update sysdatabases set status = 0 where name = '
数据库名'

执行

restore database
数据库名 WITH RECOVERY

sp_configure 'allow', 0

reconfigure with override



然后用DBCC
CHECKDB ('
数据库名')看看有没有错误



如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库



原文地址:https://www.cnblogs.com/zyizyizyi/p/2670730.html