この記事では、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 によって削除されるまでにかかる最大時間は (更新間隔なし + 更新間隔 + 清掃サイクル間隔) です。