Enr*_*ico 7 sql-server-2008 sql-server
我的 SQL Server 2008 数据库有问题。
发射
DBCC CHECKDB
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
SQL Server 检测到基于逻辑一致性的 I/O 错误:校验和不正确(预期:0xd2e00940;实际:0x925ef494)。它发生在读取文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\file.mdf”中偏移量 0x000000076de000 处的数据库 ID 22 中的页面 (1:15215) 期间。SQL Server 错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是威胁数据库完整性的严重错误情况,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能由多种因素引起;有关详细信息,请参阅 SQL Server 联机丛书。
我发现导致问题的表:
DBCC CHECKTABLE
Run Code Online (Sandbox Code Playgroud)
消息 824,级别 24,状态 2,第 8 行
SQL Server 检测到基于逻辑一致性的 I/O 错误:校验和不正确(预期:0xd2e00940;实际:0x925ef494)。它发生在读取文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\file.mdf”中偏移量 0x000000076de000 处的数据库 ID 22 中的页面 (1:15215) 期间。SQL Server 错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是威胁数据库完整性的严重错误情况,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能由多种因素引起;有关详细信息,请参阅 SQL Server 联机丛书。
所以我尝试了修复操作:
DBCC CHECKTABLE (table_name, REPAIR_ALLOW_DATA_LOSS)
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的错误:
消息 824,级别 24,状态 2,第 8 行
SQL Server 检测到基于逻辑一致性的 I/O 错误:校验和不正确(预期:0xd2e00940;实际:0x925ef494)。它发生在读取文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\file.mdf”中偏移量 0x000000076de000 处的数据库 ID 22 中的页面 (1:15215) 期间。SQL Server 错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是威胁数据库完整性的严重错误情况,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能由多种因素引起;有关详细信息,请参阅 SQL Server 联机丛书。
我也试过在 SINGLE_USER 模式下设置数据库,但没有结果。
我无法删除或截断表。因为我总是得到同样的错误。
该表没有任何约束。它有一个 PK 和一个索引,但我不能丢弃其中任何一个。
我没有找到快速的解决方案,所以我从备份中恢复。我创建了一个恢复旧备份的数据库。然后我更新了新数据库中的数据,从损坏的数据库中导入它们,绕过损坏的表。最后我用新的数据库替换了损坏的数据库。感谢您的帮助。
归档时间: |
|
查看次数: |
6165 次 |
最近记录: |