Resolving the This DNS Record Already Exists Error in Plesk for Windows
In this article
- 11. Why This Happens
- 22. Prerequisites & Safety First
- 33. Fast-Track Flowchart
- 44. Fixing Through the GUI (For Simple Cases)
- 55. Deep Dive - Resolve Conflict via CLI
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: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:
plesk db dump psa > C:\psa_before_dns_cleanup.sql
3. Fast-Track Flowchart
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
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
"%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)
plesk db "DELETE FROM dns_zone WHERE name='example.com';"
5.4 Refresh DNS Config
"%plesk_bin%\dnsmng.exe" update *
5.5 Check & Remove Domain Aliases
plesk db "SELECT name FROM dom_aliases WHERE name='example.com';"
"%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:
-
Aexample.comIP -
CNAMEorAwwwexample.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
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
plesk repair dns example.com -y
Or if needed:
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:
"%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 feedback helps us improve our documentation
Still need help? Submit a support ticket