次の方法で共有


DNS: 清掃: DNSCMD で手動で清掃が無効になっている場合、レコードは削除されません

この記事では、Windows DNS Server で Scavenging を有効にして、ゾーン上の古いレコードと古いレコードを取り除く問題の解決策を示します。

元の KB 番号: 2791165

現象

Windows DNS Server で Scavenging を有効にして、ゾーン上の古いレコードと古いレコードを取り除くシナリオに目を向ける場合があります。

環境に適した清掃サイクルとエージング (更新と更新の間隔なし) を構成し、清掃サイクルがレコードを削除するのを待ちます。

清掃サイクルは実行されますが、古いタイム スタンプを持つレコードは削除されません。
別の清掃サイクルが実行されるのを待ちますが、レコードは削除されません。

原因

このシナリオでは、(dnscmd を使用して) 別のサーバーによる清掃のために DNS ゾーンが以前に手動で構成され、その後、環境内で清掃が無効になり、別のサーバーで再度有効になった場合があります。

解決方法

問題のゾーンについては、次のコマンドを実行します。

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 アドレスです (ほとんどの場合、これは既存のサーバーである可能性があります)。Scavenging を構成したサーバーの IP アドレスでない場合は、それを変更する必要があります。 ゾーンの清掃サーバーを変更するには、次のコマンドを実行します。

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

現在の DNS サーバーの <IP> は、清掃が構成されている DNS サーバーの IP アドレスです。

詳細

次のコマンドは、すべての清掃サーバー設定をリセットし、手動で指定したサーバーを削除します。

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

Note

古いレコードが Scavenging によって削除されるまでにかかる最大時間は (更新間隔なし + 更新間隔 + 清掃サイクル間隔) です。