We've been working the past few months to implement DNS scavenging on 2 production domains. Process we followed was first implemented in DEV successfully and proted to domain1 with great success. Implemented in domain2 approx 30 days ago. Scavenging runs but does not scavenge any records. When viewing timestamps of records there is obviously dated/stale records that should be scavenged. Here was the process we followed:
Turn off scavenging on all servers. To confirm scavenging won't inadvertently run use the DNSCmd /ZoneResetScavengeServers to confine scavenging to a single server then ensure this server has scavenging disabled.
Turn on scavenging on the zones you wish to scavenge. Set the refresh and No-refresh intervals as desired 7days/8days. Left the refresh at the default.
Waited past interval and reviewed aged records. After being satisfied that records had aged correctly and nothing important would be scavenged - we enabled scavenging on single DC.
In first 2 successful attempts/stale records were scavenged and job runs approx every 170hrs.
In unsuccessful attempt on 3rd domain - 2501 appeared in DNS log after time-frame - correct zones were reviewed by device but stale records were not scavenged. Every week since (3) scavenging has run but records are not removed.
Reference site from Technet blogs.