605: Attempt to fetch logical page belongs to a different allocation unit(尝试获取的逻辑页属于另一个分配单元)
SQL Server含义
在读取页时,SQL Server 发现该页属于另一个对象,而不是预期的对象/分配单元。这是严重的数据库物理/逻辑损坏的有力迹象。
原因
存储/磁盘故障、控制器或驱动程序缺陷、突然断电时写缓存损坏,或文件系统损坏导致页链接被破坏。“暂时性 605”偶尔可能源于临时 I/O 问题,但持续出现的则是真正的损坏。
解决方法
立即运行 DBCC CHECKDB ('mydb') WITH NO_INFOMSGS, ALL_ERRORMSGS 确定损坏范围。如果可能,从已知完好的备份还原(优先选择能将数据丢失降到最低的 PITR)。测试存储/硬件,并确认 PAGE_VERIFY CHECKSUM 设置。REPAIR 选项可能导致数据丢失,因此仅在备份之后作为最后手段使用;在关键环境中,请联系 Microsoft 支持。
同一数据库的其他条目
- 3906Failed to update database because the database is read-only(无法更新数据库,因为数据库为只读)
- 15023User already exists in the current database(用户在当前数据库中已存在)
- 18452Login failed. The login is from an untrusted domain and cannot be used with Windows authentication(登录失败。该登录名来自不受信任的域,不能用于 Windows 身份验证)
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column(ALTER TABLE ALTER COLUMN 失败,因为有一个或多个对象访问此列)
- 7202Could not find server 'name' in sys.servers(在 sys.servers 中找不到服务器 'name')
- 40501The service is currently busy. Retry the request after 10 seconds(服务当前繁忙。请在 10 秒后重试请求)
- 8645A time out occurred while waiting for memory resources to execute the query(等待执行查询所需的内存资源时超时)