605: Attempt to fetch logical page belongs to a different allocation unit
SQL ServerЧто это значит?
При чтении страницы SQL Server обнаружил страницу, принадлежащую другому объекту, а не ожидаемому объекту/единице распределения. Это явный признак серьёзного физического/логического повреждения базы данных.
Почему возникает?
Нарушенные связи страниц из-за отказа хранилища/диска, ошибки контроллера или драйвера, повреждения кеша записи при внезапной потере питания или повреждения файловой системы. 'Transient 605' иногда может быть вызвана временными проблемами ввода-вывода, но устойчивые случаи — это реальное повреждение.
Как исправить
Немедленно выполните 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
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column
- 7202Could not find server 'name' in sys.servers
- 40501The service is currently busy. Retry the request after 10 seconds
- 8645A time out occurred while waiting for memory resources to execute the query