小编Ste*_*veB的帖子

CHECKDB 期间出现错误 665

在我们的服务器上运行 CHECKDB 时,我们遇到了以下错误:

在文件“D:\MSSQL\Data\database1.mdf_MSSQL_DBCC34”中的偏移量 0x00021279006000 处写入时,操作系统向 SQL Server 返回错误 665(由于文件系统限制,请求的操作无法完成)。

正在运行的命令:

DBCC CHECKDB (database) WITH ALL_ERRORMSGS, NO_INFOMSGS, PHYSICAL_ONLY
Run Code Online (Sandbox Code Playgroud)

设置:

  • 生产环境中的5台服务器可用性组

    • 所有具有 NVMe 驱动器的物理服务器
    • SQL Server 2016
    • CHECKDB 在所有机器上运行
    • 仅在 AG 中的服务器 3 和 5(辅助服务器)上失败
      • 每台服务器 D 盘上有超过 700GB 的可用空间
    • 数据库大小为 2.2TB(1 个文件)
  • 测试环境中的2台服务器可用性组

    • 所有具有 SAN 驱动器的虚拟机
    • SQL Server 2019
    • CHECKDB 在所有机器上运行
    • 仅在 AG 中的服务器 1(主服务器)上失败
      • 服务器D盘有超过300GB的可用空间
    • 数据库为 2.6TB(2 个文件 - 2.3TB 和 280GB)

这一切都发生在同一个晚上。生产服务器上的数据库相同,但测试中的数据库不同。当然,我接到电话并开始调查此事。我决定在产品中的服务器 3 上再次运行 CHECKDB,以查找失败的数据库,并且成功且没有错误。此后我们再次收到错误,但它是随机的,这让我怀疑它是否是基于活动的。根据我们的监测,该活动相当正常。

根据本文 ( https://www.mssqltips.com/sqlservertip/3008/solving-sql-server-database-physical-file-fragmentation/ ),我们使用 CONTIG -A 查看了文件碎片。mdf 文件的碎片还不错(2 和 4 个碎片)。

根据这篇文章(https://learn.microsoft.com/en-US/troubleshoot/sql/database-engine/database-file-operations/1450-and-665-errors-running-dbcc-checkdb …

sql-server sql-server-2016 sql-server-2019

2
推荐指数
1
解决办法
173
查看次数