HunterX3 Asked: 2016-07-20 12:25:08 +0800 CST2016-07-20 12:25:08 +0800 CST 2016-07-20 12:25:08 +0800 CST 更新 dbi_dbccLastKnownGood 772 我有一个 VLDB,我将 DBCC CHECKDB 卸载到另一台服务器。是否可以更新 VLDB 服务器上的 dbi_dbccLastKnownGood,以便它传递任何检查该日期的脚本,如 sp_Blitz? sql-server sql-server-2014 2 个回答 Voted Best Answer Martin Smith 2016-07-20T12:51:42+08:002016-07-20T12:51:42+08:00 不是,这个功能是为了记录最后一次DBCC CHECKDB成功运行的。极不可能添加允许随意编辑此值并有效地掩盖历史的功能。 更新这个实际上不涉及破解数据库引导页面的唯一方法是执行DBCC CHECKDB. 因此,您应该自定义这些脚本以不报告该问题或忽略此结果,如果完全预期由于替代安排而未检查此数据库。 Kin Shah 2016-07-20T13:32:55+08:002016-07-20T13:32:55+08:00 我同意马丁关于竞选CHECKDB以确保你没有腐败的观点。 如果在数据库上运行干净,依赖dbi_dbccLastKnownGood并不能告诉您全部真相。DBCC CHECKDB 对于 VLDB,人们只需运行DBCC CHECKDB ('your_db_name') WITH PHYSICAL_ONLY;. 这将更新dbi_dbccLastKnownGood连同DBCC CHECKFILEGROUP. 来自 SQLSkill 的博客 -请注意,CHECKDB .. WITH PHYSICAL_ONLY将: 运行 DBCC CHECKALLOC 的等价物 读取并审核数据库中每个分配的页面 它会跳过所有逻辑检查、页间检查和 DBCC CHECKCATALOG 之类的事情。 因此,存在一致性检查深度与运行时和资源使用的权衡——但只要启用并存在页面校验和,此选项就会解决由 IO 子系统引起的问题。
不是,这个功能是为了记录最后一次
DBCC CHECKDB
成功运行的。极不可能添加允许随意编辑此值并有效地掩盖历史的功能。更新这个实际上不涉及破解数据库引导页面的唯一方法是执行
DBCC CHECKDB
.因此,您应该自定义这些脚本以不报告该问题或忽略此结果,如果完全预期由于替代安排而未检查此数据库。
我同意马丁关于竞选
CHECKDB
以确保你没有腐败的观点。如果在数据库上运行干净,依赖
dbi_dbccLastKnownGood
并不能告诉您全部真相。DBCC CHECKDB
对于 VLDB,人们只需运行
DBCC CHECKDB ('your_db_name') WITH PHYSICAL_ONLY;
. 这将更新dbi_dbccLastKnownGood
连同DBCC CHECKFILEGROUP
.来自 SQLSkill 的博客 -请注意,
CHECKDB .. WITH PHYSICAL_ONLY
将: