Поделиться через


DNS: очистка: записи не удаляются, если очистка вручную отключена с помощью DNSCMD

В этой статье описывается решение проблемы, в которой можно включить очистку на DNS-сервере Windows, чтобы избавиться от старых и устаревших записей в зоне.

Исходный номер базы знаний: 2791165

Симптомы

Вы можете найти себя в сценарии, где вы включите scavenging на DNS-сервере Windows, чтобы избавиться от некоторых старых и устаревших записей в зоне.

Вы настраиваете цикл scavenging и Aging (интервал обновления и обновления), соответствующий вашей среде, и дождитесь удаления записей.

Обратите внимание, что цикл scavenging выполняется, но не удаляет записи со старыми метками времени.
Вы решили ждать выполнения другого цикла очистки, но все равно записи не удаляются.

Причина

Вы можете перейти к этому сценарию, когда зона DNS была ранее настроена вручную для очистки другим сервером (с помощью dnscmd), а затем очистка была отключена в среде, а затем снова включена на другом сервере.

Решение

Для зоны, о которой идет речь, выполните следующую команду:

dnscmd /zoneinfo contoso.com

(Например, я буду использовать зону как contoso.com) Вы получите следующий результат:

Zone query result:

Zone info:

                ptr                   = 0000000000327C90
                zone name             = ocntoso.com
                zone type             = 1
                shutdown              = 0
                paused                = 0
                update                = 2
                DS integrated         = 1
                read only zone        = 0
                in DS loading queue   = 0
                currently DS loading  = 0
                data file             = (null)
                using WINS            = 0
                using Nbstat          = 0
                aging                 = 1
                 refresh interval    = 168
                  no refresh          = 168
                  scavenge available  = 3606130
                Zone Masters          NULL IP Array.
                Zone Secondaries   NULL IP Array.
                secure secs           = 3
                directory partition   = AD-Domain     flags 00000015

                zone DN               = DC=contoso.com,cn=MicrosoftDNS,DC=DomainDnsZones,DC=contoso,DC=com          Scavenge Servers

                 Ptr          = 000000000031D480
               MaxCount     = 1

                AddrCount    = 1
                                Server[0] => af=2, salen=16, [sub=0, flag=00000000] p=13568, addr=192.168.1.1

Здесь вы заметите IP-адрес 192.168.1.1. Это IP-адрес сервера, который имеет разрешение на очистку зоны (скорее всего, это может быть сервер, который больше не существует) Если это не IP-адрес сервера, на котором вы настроили scavenging, то нам нужно изменить это. Чтобы изменить сервер scavenging для зоны, выполните команду:

dnscmd /zoneresetscavengeservers contoso.com <Ip of the current DNS Server>

Где <IP-адрес текущего DNS-сервера — это IP-адрес DNS-сервера> , на котором настроена очистка.

Дополнительная информация

Следующая команда сбрасывает все параметры сервера очистки и удаляет указанные вручную серверы.

dnscmd /zoneresetscavengeservers contoso.com (without ip address).

Примечание.

Максимальное время удаления устаревшей записи с помощью scavenging — (интервал обновления и интервал обновления и интервал цикла scavenging).