数据库置疑没有办法做数据库备份使用DBCC WRITEPAGE的方法
数据库置疑没有办法做数据库备份使用DBCC writepage的方法
USE master IF DB_ID('TestDB') IS NOT NULL DROP DATABASE TestDB GO CREATE DATABASE TestDB GO USE TestDB GO CREATE TABLE TestDB.dbo.t1 ( Field1 CHAR(10) ) GO INSERT INTO TestDB.dbo.t1 VALUES ( 'AAAAAAAAAA' ) GO SELECT * FROM TestDB.dbo.t1 DBCC TRACEON(3604) DBCC IND(TestDB, t1, 1) DBCC PAGE(TestDB, 1, 79,3) ALTER DATABASE testdb SET SINGLE_USER DBCC writepage(TestDB, 1, 2, 22, 2, 0x0600,1) ALTER DATABASE testdb SET MULTI_USER BACKUP DATABASE [testdb] TO DISK ='c:\testdbfull.bak' --消息 3013,级别 16,状态 1,第 1 行 --BACKUP DATABASE 正在异常终止。 --消息 824,级别 24,状态 2,第 1 行 --SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x0aa170b9,但实际为: 0x0aa170bb)。在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB.mdf' 中、偏移量为 0x00000000004000 的位置对数据库 ID 11 中的页 (1:2) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 BACKUP LOG [testdb] TO DISK ='c:\testdblog.bak' WITH NORECOVERY 消息 926,级别 14,状态 1,第 1 行 无法打开数据库 'TestDB'。恢复操作已将该数据库标记为 SUSPECT。有关详细信息,请参阅 SQL Server 错误日志。 消息 3013,级别 16,状态 1,第 1 行 BACKUP LOG 正在异常终止。 RESTORE DATABASE [testdb] WITH RECOVERY
用CONTINUE_AFTER_ERROR取出日志
BACKUP DATABASE [testdb] TO DISK ='c:\testdbfull.bak' WITH CONTINUE_AFTER_ERROR --消息 3013,级别 16,状态 1,第 1 行 --BACKUP DATABASE 正在异常终止。 --消息 824,级别 24,状态 2,第 1 行 --SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x0aa170b9,但实际为: 0x0aa170bb)。在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB.mdf' 中、偏移量为 0x00000000004000 的位置对数据库 ID 11 中的页 (1:2) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 --消息 3013,级别 16,状态 1,第 1 行 --BACKUP DATABASE 正在异常终止。 --消息 824,级别 24,状态 2,第 1 行 --SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x0aa170b9,但实际为: 0x0aa170bb)。在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB.mdf' 中、偏移量为 0x00000000004000 的位置对数据库 ID 11 中的页 (1:2) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 BACKUP LOG [testdb] TO DISK ='c:\testdblog.bak' WITH NORECOVERY,CONTINUE_AFTER_ERROR --消息 926,级别 14,状态 1,第 1 行 --无法打开数据库 'TestDB'。恢复操作已将该数据库标记为 SUSPECT。有关详细信息,请参阅 SQL Server 错误日志。 --消息 3013,级别 16,状态 1,第 1 行 --BACKUP LOG 正在异常终止。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)