| Предыдущий | Следующий |
| DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT | DNS_ERROR_SECONDARY_DATA |
DNS_ERROR_RECORD_ALREADY_EXISTS
Точная DNS-запись уже существует
DNS объединяет записи в наборы RRset по имени владельца, типу и классу. Сервер может законно хранить несколько значений в одном RRset, например несколько записей A или MX, но добавление дублирующего значения не создаёт второй самостоятельный элемент данных DNS. Управление DNS в Windows может отклонить добавление, если такая запись уже представлена в зоне.
Перечислите весь RRset и сравнивайте нормализованные данные записи, а не только имя владельца. Для структурированных типов, таких как MX, SRV или SOA, сравнивайте все значимые поля. Если операция должна была заменить данные, используйте поддерживаемое обновление либо семантику удаления и повторного добавления, а не ещё одну операцию создания. RFC 2136 также различает существование RRset и существование имени в предварительных условиях обновления.
Что проверить
- Прочитайте из авторитетной зоны все записи с теми же именем владельца и типом.
- Сравните предлагаемые RDATA с существующими значениями с учётом формата типа.
- При изменении существующей записи используйте процесс обновления вместо повторного добавления дубликата.
Ссылки
- IETF RFC 2136: предварительные условия и обработка динамического обновления DNS
- IETF RFC 1035: ресурсные записи DNS, SOA и реализация сервера
- Microsoft: Get-DnsServerResourceRecord
Нужно найти другой код? Найти другой код состояния или ошибки.
