| Предыдущий | Следующий |
| DNS_ERROR_TRY_AGAIN_LATER | DNS_ERROR_NON_RFC_NAME |
DNS_ERROR_NOT_UNIQUE
Набор записей DNS может законно содержать несколько записей
DNS_ERROR_NOT_UNIQUE означает, что операция ожидала одну запись для имени и типа, но получила неуникальный результат. Сам DNS допускает наличие в RRset нескольких записей с одинаковыми владельцем, классом и типом. Несколько адресов A или AAAA, серверов MX, NS и целей SRV являются обычной архитектурой, а не повреждением базы данных.
Следовательно, ошибка показывает несоответствие между требованием операции к уникальности и данными зоны. Выбирать первую возвращённую запись небезопасно, поскольку порядок записей DNS не является устойчивым правилом идентичности и может меняться между ответами, серверами или решениями балансировки нагрузки.
Что исследовать
- Перечислите полный возвращённый список и сгруппируйте записи по имени владельца, классу и типу.
- Определите, почему вызывающему коду требуется одно значение: идентичность конфигурации, обратное сопоставление, предварительное условие обновления или ограничение приложения.
- Удаляйте дубликаты только тогда, когда политика зоны требует уникальности; в противном случае исправьте приложение для правильной обработки RRset.
- Для данных SRV или MX соблюдайте определённые протоколом поля приоритета и выбора вместо произвольного порядка списка.
Ссылки
- RFC 2181: определение RRset и согласованность данных
- Microsoft: списки записей DnsQuery_W
- Microsoft: системные коды ошибок DNS
Нужно найти другой код? Найти другой код состояния или ошибки.
