AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 237886
Accepted
BradC
BradC
Asked: 2019-05-11 13:27:31 +0800 CST2019-05-11 13:27:31 +0800 CST 2019-05-11 13:27:31 +0800 CST

如果我使用 CONTINUE_AFTER_ERROR,我会收到 BACKUP 遇到 CHECKSUM 错误的通知吗?

  • 772

我正在为WITH CHECKSUM我们的日常 SQL 备份添加标志,以更好地确保数据完整性。

我肯定想知道是否曾经遇到过校验和错误,但我也不希望我的工作在半夜陷入困境;我希望它完成备份“坏”数据库,然后继续备份服务器上的其他数据库。

如果我使用BACKUP WITH CHECKSUM, CONTINUE_AFTER_ERROR,它是否仍会抛出适当的错误(SEV 22或Error 825其他错误)来触发我的相关警报?或者完全CONTINUE_AFTER_ERROR抑制这一点,如果我解析作业步骤输出,我只会知道这个问题?

我只是对其进行测试,但我没有已知CHECKSUM不一致的数据库。

backup sql-server-2012
  • 2 2 个回答
  • 156 Views

2 个回答

  • Voted
  1. eckes
    2019-05-12T08:29:52+08:002019-05-12T08:29:52+08:00

    是的,它将继续并完成,这篇较早的博文中有一个示例。它还包含一个损坏的数据库文件(对于旧版本)可以使用:

    https://blogs.msdn.microsoft.com/sqlserverstorageengine/2007/04/17/example-corrupt-database-to-play-with-and-some-backuprestore-things-to-try/

    我认为作为 dba 模拟所有这些情况实际上非常重要,我从与客户的经验中知道,如果您必须在停机时间研究这些方法,这是有风险且耗时的。所以很感谢你的提问。这是使用 SQL 进行破坏的一种疯狂/巧妙的方法:

    https://sqlblogcasts.com/blogs/tonyrogerson/archive/2007/03/10/how-to-create-a-corrupt-database-using-bulk-insert-update-and-bcp-sql-server-as- a-hex-editor.aspx

    • 2
  2. Best Answer
    BradC
    2019-05-14T13:22:11+08:002019-05-14T13:22:11+08:00

    通过对Brent Ozar 的说明(我使用SET PAGE_VERIFY CHECKSUM而不是)稍作更改SET PAGE_VERIFY NONE,我能够在实验室环境中创建一个带有损坏页面(因此校验和不匹配)的小型数据库,以全面测试所有可能的备份选项。

    这给了我问题的答案:是的,如果你做 a BACKUP WITH CHECKSUM, CONTINUE_AFTER_ERROR,它仍然会抛出一个错误,但那个错误不会是Error: 824, Severity: 24,它会是Error: 3043, Severity: 16。

    我目前不会对所有Sev 16错误发出警报(不想每次有人在查询中输入错字时都得到一个页面),所以我必须添加一个新警报,Error 3043以便在发生此问题时得到通知。

    那么,我最后的收获是:如果您启用备份校验和,请确保您也对 Error 3043 发出警报。

    一些额外的阅读和资源:

    • 备份和还原期间可能出现的介质错误 (SQL Server)有关备份校验和的 MS 参考详细信息
    • 可以使用的损坏数据库示例以及要尝试的一些备份/恢复内容:最初由 @eckes 链接,这篇 Paul Randal 文章内容非常好,但示例是 SQL 2005。
    • Brent Ozar:让我们一起破坏 SQL Server 数据库,第 1 部分:聚集索引。清晰的例子,感谢布伦特发布这个。如果你喜欢那个,不要错过第 2 部分:非聚集索引和第 3 部分:检测腐败!
    • Steve Stedman 的数据库损坏挑战:诊断和修复数据库损坏方面的挑战越来越大。发布了每个解决方案。
    • DBA SE:DBCC CheckDB 会漏掉哪些类型的损坏?我可以在这里找到最相关的相关问题。
    • 1

相关问题

  • SQL Server 不应该支持范围吗?

  • 什么是 SQL Server“德纳利”?什么是新的?

  • SQL Server Express 的任务计划程序

  • 我可以在使用数据库后激活 PITR 吗?

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve