局域网内的网站建设,广告公司logo,开发微信小程序的流程,织梦cms漫画模板为了主动发现数据库侧页损坏#xff0c;保证数据库逻辑和物理完整性#xff0c;计划每周六上午6点#xff0c;针对生产主库上的所有系统和用户数据库执行DBCC CHECKDB#xff0c;将结果记录到表中。以下为理论依据#xff1a;SQL Server数据库可以检测出页损坏#xff0c… 为了主动发现数据库侧页损坏保证数据库逻辑和物理完整性计划每周六上午6点针对生产主库上的所有系统和用户数据库执行DBCC CHECKDB将结果记录到表中。以下为理论依据SQL Server数据库可以检测出页损坏此时具体的表现形式可能为下述三种错误的一种823错误也就是所谓的硬IO错误可以理解为SQL Server希望读取页而Windows告诉SQL Server无法读取到该页。824错误也就是所谓的软IO错误可以理解为SQL Server已经读取到该页但通过计算CheckSum等值发现不匹配因此SQL Server认为该页已经被损坏。825错误也就是所谓Retry错误。SQL Server发现错误的方法有两种分别为在读取页时和在备份时本质上也是读取页。但如果我们希望对于数据一致性的检查更加的全面那我们应该定期使用CheckDB来检查数据的一致性而不至于在生产时间数据被读取时才能发现错误。CheckDB命令在企业版中会使用多线程来进行会对整个数据库进行一致性检查在该过程中使用了内建数据库快照的方式进行因此不会造成阻塞但CheckDB会消耗大量的CPU、内存和IO。因此CheckDB要选择在维护窗口时间或是系统闲时进行。实际上CheckDB是一套命令的汇总通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性初次检查系统表分配单元检查DBCC CHECKALLOC完整检查系统表对所有表进行一致性逻辑检查DBCC CHECKTABLE元数据检查DBCC CHECKCATALOGSSB检查索引视图、XML索引等检查微软最佳实践建议“建议您使用 PHYSICAL_ONLY 选项以便可以频繁检查生产系统。 使用 PHYSICAL_ONLY 可以极大地缩短对大型数据库运行 DBCC CHECKDB 的运行时间。 同时建议您定期运行没有选项的 DBCC CHECKDB。 应当以什么频率执行这些运行任务将取决于各个企业及其生产环境。”引用自https://docs.microsoft.com/zh-cn/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql成熟的方案可以使用 https://ola.hallengren.com/实现备份、完整性检查、索引和统计信息维护整套方案。 转载于:https://blog.51cto.com/ultrasql/2050157