原因是有长时间的SELECT INTO操作,该操作是ddl语句会锁系统表。 如果SELECT INTO语句操作到用户数据库上下文中的永久表,则数据库完整性检查将在用户数据库上成功执行,因为用户数据库在执行CHECKDB时会默认自动创建内部隐藏数据库快照。 对 tempdb 行为的完整性检查不同于用户数据库。 Tempdb 不会也不能为数据库完整性检查创建数据库快照,因此它需要获取系统表上的共享表锁来执行表检查。 当系统表中的行被独占锁定时,它会产生错误并使 CHECKDB 失败。 SQL Server lock i…