What triggers this error
You're working in a Windows environment — could be Windows 10, 11, Server 2019, or Server 2022. You run a command like ping server01, nslookup app.domain.com, or maybe your application tries to resolve a hostname. Instead of getting an IP, you see DNS_INFO_NO_RECORDS (0X0000251D). The DNS query completed without a timeout, but it returned zero records for the name you asked for.
I've seen this happen most often when someone sets up a new server and forgets to add the DNS record, or when a record gets accidentally deleted during cleanup. It also shows up when you query for a record type that doesn't exist — like asking for an AAAA (IPv6) record when the server only has an A (IPv4) record.
Root cause in plain English
DNS works like a phonebook. When you ask for a name, the DNS server checks its database. If the name exists but none of the records match the type you requested, you get this error. The server isn't broken — it just has nothing to give you.
Another common cause: the Forward Lookup Zone for your domain exists, but the specific host record (A, AAAA, CNAME, MX, etc.) is missing. Or the record exists but has a different type than what the client asked for. For example, your app requests an SRV record, but only an A record is configured.
Less common: stale or corrupted DNS cache on the client or the DNS server itself can hide records that actually exist. This is rarer but worth checking.
How to fix it — step by step
Step 1: Verify the record type you're asking for
Open Command Prompt as Administrator. Run nslookup and then type set type=all. Then query the hostname:
nslookup
set type=all
server01.yourdomain.local
What you should see: If the host exists, you'll see one or more records listed. If you get DNS request timed out or *** server can't find server01.yourdomain.local: Non-existent domain, that's a different error. The 0X0000251D error specifically means the DNS query succeeded but returned zero records. So if you get no output after the name, that's your error.
Now try a specific record type. For example, if you need an A record:
set type=A
server01.yourdomain.local
If this returns nothing but set type=all returned a CNAME or MX, then the record type mismatch is your problem.
Step 2: Check DNS Manager on the DNS server
Log into your DNS server (Windows Server typically). Open DNS Manager (dnsmgmt.msc). Expand your server, then Forward Lookup Zones, then your domain zone. Look for the hostname you're querying.
What you should see: The hostname should appear with at least one record type (A, AAAA, CNAME, etc.). If it's missing entirely, right-click the zone, choose New Host (A or AAAA), and add it. Make sure you enter the correct IP.
If the hostname is there but not the type you need, you can add the missing record type. For an AAAA record, right-click the zone, choose Other New Records, select IPv6 Host (AAAA), and fill in the details.
Step 3: Flush DNS cache on the client
Sometimes the local DNS cache holds a negative result. On the affected computer, run:
ipconfig /flushdns
What you should see: Successfully flushed the DNS Resolver Cache. Then retry your query. If the record is now found, the problem was a cached negative response.
Step 4: Clear DNS server cache (if you have access)
On the DNS server, open Command Prompt as Administrator and run:
dnscmd /clearcache
Or in DNS Manager, right-click your server and select Clear Cache. Then test from the client again.
What you should see: The command confirms the cache was cleared. Then test again from the client.
Step 5: Check for scavenging or aging issues
If records keep disappearing, DNS scavenging might have deleted them. In DNS Manager, right-click your zone, go to Properties, and check the Aging tab. See if scavenging is enabled and the refresh interval is too short. For a domain controller, the default refresh is 7 days. If your records have a timestamp older than that, they get scavenged.
Fix: Disable scavenging for static records, or add them as static entries with the checkbox Delete this record when it becomes stale unchecked.
What to check if it still fails
If you've done all steps and the error persists, check these three things:
- Are you querying the right DNS server? Run
ipconfig /allon the client and confirm the DNS server IP matches the server you configured. If there's a secondary DNS server, it might not have the record. Try pointing directly to the primary DNS server usingnslookup server01.yourdomain.local <primary DNS IP>. - Is the record registered dynamically? If the host is a DHCP client, its DNS registration might fail. Check if the client has the correct DNS suffix (
ipconfig /all— look under Connection-specific DNS Suffix). Also check if the client can register its own record: runipconfig /registerdnson the client, then look for event ID 8015 or 8016 in the System log. - Is there a firewall blocking? Some firewalls (like the Windows Firewall on the DNS server) can block DNS queries altogether. Make sure UDP port 53 is open between client and server. You can test this with
telnet <DNS server IP> 53— if it connects, the port is open.
If none of that works, you might be dealing with a deeper issue like Active Directory replication failure (if your DNS is AD-integrated). Check repadmin /showrepl and look for errors. But that's rare — in 90% of cases, the record just wasn't there or the type was wrong.