sqlserver错误消息: 数据库 ID7,页(1:35914153)已标记为 RestorePending可能表明磁盘已损坏。要从此状态恢复,请执行还原操作强制删除表
广告:
错误消息: 数据库 ID7,页(1:35914153)已标记为 RestorePending可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。
dbcc checkdb('NTS-9000V2') with no_infomsgs --只显示错误信息
消息 7985,级别 16,状态 2,第 1 行
系统表预检查: 对象 ID 3。无法使用闩锁类型 SH 读取并闩锁页 (1:35914153)。由于不可修复的错误,CHECK 语句已终止。
消息 5233,级别 16,状态 98,第 1 行
表错误: 分配单元 ID 196608,页 (1:35914153)。测试(IS_OFF (BUF_IOERR, pBUF->bstat))失败。值为 2057 和 -6。
CHECKDB 发现有 0 个分配错误和 1 个一致性错误与任何单个的对象都没有关联。
CHECKDB 在数据库 'NTS-9000V2' 中发现 0 个分配错误和 1 个一致性错误。
无法对 表 'TS_M5_EXT_391' 执行 删除,因为它不存在,或者您没有所需的权限。
暂时禁用该索引
ALTER INDEX PK__TS_M5_EX__A2B869B97F9CEBC3 ON [dbo].[TS_M5_EXT_391] DISABLE;
无法删除索引“PK__TS_M5_EX__A2B869B97F9CEBC3”数据库 ID 7,页 (1:35914153) 已标记为 RestorePending,可能表明磁盘已损坏
强制删除索引
DROP INDEX TS_M5_EXT_391.PK__TS_M5_EX__A2B869B97F9CEBC3;
Go
ALTER TABLE [dbo].[TS_M5_EXT_391] DROP CONSTRAINT [Primary Key Constraint CDATEINDEX]
GO
ALTER TABLE [dbo].[TS_M5_EXT_391] ADD CONSTRAINT [Primary Key Constraint Name] Primary Key Clustered (Column(s))
GO
DROP INDEX [dbo].[TS_M5_EXT_391].CDATEINDEX
不允许对索引 'dbo.TS_M5_EXT_391.PK__TS_M5_EX__A2B869B97F9CEBC3' 显式地使用 DROP INDEX。该索引正用于 PRIMARY KEY 约束的强制执行
alter table [dbo].[TS_M5_EXT_391] drop constraint PK__TS_M5_EX__A2B869B97F9CEBC3
dbcc checktable('[dbo].[TS_M5_EXT_391]',repair_allow_data_loss)
不允许对系统目录进行即席更新。
Database ID 7, Page (1:62408995) is marked RestorePending, which may indicate disk corruption. To recover from this state, perform a restore.
ALTER DATABASE [TestDBSubA] SET SINGLE_USER --WITH ROLLBACK IMMEDIATE
快速修复
DBCC CHECKDB ('数据库名', REPAIR_FAST)
重建索引并修复
DBCC CHECKDB ('数据库名', REPAIR_REBUILD)
如果必要允许丢失数据修复
DBCC CHECKDB ('NTS-9000V2', REPAIR_ALLOW_DATA_LOSS)
select * from sysindexes
select * from syscolumns
select * from sysobjects
select * from test.dbo.sys.sysschobjs
select * sys.sysbinobjs
对象 ID 1195151303
select * from sys.indexes where object_id='1195151303'
SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TS_M5_EXT_391]') AND type in (N'U') --查找表是否存在
DROP TABLE [dbo].[TS_M5_EXT_391];
解决:定位错误的表,删除表。
delete from sysobjects where [name]='cmd' and xtype='U'
还原指定页的数据:
RESTORE DATABASE UFTData782767_000002 PAGE='1:31766, 1:30744'
FROM DISK = 'G:\temp\old.bak'
WITH NORECOVERY;
--对于使用简单恢复模式或中断了日志备份链的数据库,不允许执行 RESTORE PAGE。
在还原完成后,数据库将处于 RECOVERY PENDING 状态,你可能需要运行 DBCC CHECKDB 来检查数据库完整性,并且在确认数据库状态良好后,可以使用 RESTORE WITH RECOVERY 来结束 RECOVERY PENDING 状态,恢复数据库的正常操作。
广告: