| Предыдущий | Следующий |
| hrerrDataHasChanged | hrInvalidOnSort |
hrTooManySorts
Что означает hrTooManySorts
hrTooManySorts (0xC80006A5) — выполняется слишком много операций сортировки.
Что проверить
Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrTooManySorts.
- Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
- Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.
- Проверьте ресурс или лимит, на который указывает hrTooManySorts: память, дескрипторы, квота, буфер, место или размер коллекции. Сначала установите, какой лимит исчерпан, и только затем освобождайте или увеличивайте именно его.
Практический смысл и диагностика
- Временные ESE sort resources исчерпаны из-за слишком большого числа одновременных либо неосвобождённых sort operations.
- Закрывайте завершённые sorts, ограничивайте concurrency и по возможности уменьшайте входной набор ранней filter/stream processing.
- `hrTooManyOpenIndexes` относится к exhaustion index descriptor blocks, а не temporary sort work.
- Применяйте узкое исправление к sort lifecycle, а не увеличивайте произвольно все ESE resource limits.
- Зафиксируйте число active sorts, sessions и длительность старейших operations, чтобы найти leak либо чрезмерный parallelism.
Технические ссылки
- JET_param enumeration
- Transactions and save points
- ESE files and storage paths
- ESE source repository
- Microsoft: JET_ERR enumeration
Нужно найти другой код? Найти другой код состояния или ошибки.