Troubleshooting & Common Errors

Resolving the This DNS Record Already Exists Error in Plesk for Windows

Published · Updated 4 min read
Knowledge base article
Contents (18 sections)

Scope: Plesk Obsidian 18.x (Windows Server 2016/2019/2022) with Microsoft DNS.
Applies to: Adding a domain, sub-domain, or domain alias that fails with:

code
Unable to create the domain example.com because a DNS record pointing to the host example.com already exists.

1. Why This Happens

Root Cause Database Table Symptom
Orphaned DNS zone left after deletion dns_zone Domain isn't listed in Websites & Domains, but SELECT id FROM dns_zone WHERE name='example.com'; returns a result.
Duplicate DNS record exists dns_recs A or CNAME record for the same hostname (e.g., multiple www records) causes conflict.
Domain alias still present dom_aliases SELECT name FROM dom_aliases WHERE name='example.com'; returns a row; domain can't be added again.
Domain is under another subscription domains Domain exists in a hidden or forgotten subscription; must be removed or renamed first.

The Plesk GUI only shows domains under active subscriptions. PSA database entries outside of that still block new domains.
Official Plesk Article


2. Prerequisites & Safety First

Admin access via RDP to the Plesk server
Plesk CLI tools available in PATH (%plesk_bin%) or via full path
Backup the PSA database before making changes:

code
plesk db dump psa > C:\psa_before_dns_cleanup.sql

3. Fast-Track Flowchart

code

 Add domain 

 
Check orphaned zone: SELECT id FROM dns_zone...
 
If zone exists Try: dns.exe --del-all
 
Fails DELETE FROM dns_zone...
 
Check dom_aliases
 
Delete alias Add domain 

Skip to Section 5 for CLI-based removal.


4. Fixing Through the GUI (For Simple Cases)

Check existing DNS zone records:
Go to Websites & Domains example.com DNS Settings Remove duplicate A/CNAME records.

Check Domain Aliases:
Websites & Domains Domain Aliases Find example.com Remove.

Re-add the domain: Only use apex (example.com). Plesk auto-creates the www alias.

Still seeing the error Move on to the CLI cleanup.


5. Deep Dive - Resolve Conflict via CLI

Always use elevated Command Prompt (cmd.exe) and quote paths containing spaces.

5.1 Check if Zone Exists

code
plesk db "SELECT id FROM dns_zone WHERE name='example.com';"

If a row is returned, proceed to remove the zone.

5.2 Attempt to Wipe Records

code
"%plesk_bin%\dns.exe" --del-all example.com

If successful: Zone wiped.

If this fails (returns unknown parameter or does nothing), skip to 5.3.

5.3 Delete the Entire Zone via SQL (Guaranteed Fix)

code
plesk db "DELETE FROM dns_zone WHERE name='example.com';"

5.4 Refresh DNS Config

code
"%plesk_bin%\dnsmng.exe" update *

5.5 Check & Remove Domain Aliases

code
plesk db "SELECT name FROM dom_aliases WHERE name='example.com';"
code
"%plesk_bin%\domalias.exe" --delete example.com

5.6 Re-Add the Domain

Go to Websites & Domains Add Domain:

  • Domain name: example.com

  • DNS service: Enabled

Confirm DNS Records:

  • A example.com IP

  • CNAME or A www example.com

Done!


6. Special Cases & Troubleshooting

6.1 External DNS Sync

Disable zone sync temporarily if syncing from a slave server to avoid auto re-creation.

6.2 Check for Hidden Subscriptions

code
plesk db "SELECT name,id FROM domains WHERE name='example.com';"

If found, remove or rename domain in that subscription.

6.3 Still Failing Try Plesk Repair Tool

code
plesk repair dns example.com -y

Or if needed:

code
plesk repair all -y

7. Best Practices to Prevent This Error

Always add apex domain (example.com) first. Plesk auto-creates www, mail, and related records.
Use the GUI to remove domains & aliases when possible - this clears all dependencies.
Run regular cleanup checks:

code
"%plesk_bin%\dbclient.exe" --direct-sql --sql="SELECT name FROM dns_zone dz LEFT JOIN domains d ON d.dns_zone_id = dz.id WHERE d.id IS NULL;"

Track subscription ownership to avoid ghost records.


8. FAQ

Q: Can I reset instead of deleting a zone
A: dns.exe --reset example.com -ip x.x.x.x only works for zones tied to active domains. For orphans, SQL deletion is required.

Q: Is the process different on Linux
A: Same logic applies; use plesk bin dns instead of dns.exe, and Linux will use BIND instead of MS DNS.

Q: Will this break DNS temporarily
A: Yes--only proceed if it's safe to reset or recreate the zone immediately.


9. References

Plesk CLI - dns.exe - Windows DNS zones
Plesk CLI - domalias.exe - Domain Aliases
Plesk Support - DNS record already exists error


Need further help Submit a support ticket and we'll assist you right away.

Was this article helpful?

Your answer helps us decide what to improve next.

Still need help? Open a support ticket and our team will reply.

Prefer an app? Add this site to your home screen.Get the app
Resolving the This DNS Record Already Exists Error in Plesk for Windows - Knowledge Base