日期:2014-05-17  浏览次数:21186 次

SQL删除数据表内容时出错
在删除某张数据表(比如Temp123)的内容时出现错误,之后这张表就打不开了,但这张表平时的读写操作正常,就是删除内容时出错,特来请教高手,我用的是SQL Server 2005,错误信息如下。

----------
消息 829,级别 21,状态 1,第 1 行
数据库 ID 5,页 (1:769667) 已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。
消息 829,级别 21,状态 1,第 1 行
数据库 ID 5,页 (1:769667) 已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。
消息 3314,级别 21,状态 4,第 1 行
在数据库 'Temp123' 中撤消日志记录下的操作时,在日志记录 ID (30004:218296:458) 处出错。通常,这一特定故障以前在 Windows 事件日志服务中会记录为错误。请利用备份还原数据库或文件,或者修复该数据库。
消息 9001,级别 21,状态 5,第 1 行
数据库 'Temp123' 的日志不可用。有关相应错误消息,请查看事件日志。修复所有错误后重新启动数据库。
消息 3314,级别 21,状态 4,第 1 行
在数据库 'Temp123' 中撤消日志记录下的操作时,在日志记录 ID (30004:218416:397) 处出错。通常,这一特定故障以前在 Windows 事件日志服务中会记录为错误。请利用备份还原数据库或文件,或者修复该数据库。
消息 9001,级别 21,状态 1,第 1 行
数据库 'Temp123' 的日志不可用。有关相应错误消息,请查看事件日志。修复所有错误后重新启动数据库。
消息 3314,级别 21,状态 5,第 1 行
在数据库 'Temp123' 中撤消日志记录下的操作时,在日志记录 ID (29996:70181:1) 处出错。通常,这一特定故障以前在 Windows 事件日志服务中会记录为错误。请利用备份还原数据库或文件,或者修复该数据库。
消息 0,级别 20,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。
----------

------解决方案--------------------
你的这个表的某个页显示状态为还原挂起状态。

建议这样来检查一下问题:

dbcc checkdb(你的数据库名称)
go
------解决方案--------------------
另外,你有数据库的备份吗?

如果有备份,可以用基于数据页的还原。

如果没有备份,那么只能强行修复:

dbcc checkdb(数据库名,REPAIR_ALLOW_DATA_LOSS)

go

dbcc checkdb(数据库,REPAIR_REBUILD)

go

------解决方案--------------------
restore page from backup
------解决方案--------------------
可能没有做好日常管理