SymptomsThe BIND DNS server is used. There is no entry in named.conf for a domain and no corresponding zone file for the domain in the %plesk_dir%\dns\var folder. If the record in the named.conf file is created manually, it will be removed the next time that Parallels Plesk Panel (PP) updates that file.
CauseThere is an incorrect status in the dns_zone table for this domain (it is configured to "2"). If the DNS for a particular domain is managed in the PP Control Panel, the status for this domain in the dns_zone table is temporarily set to a value of "2" (to lock it against any changes) and is reset to "0" when the transaction is over. If, for some reason, the transaction is interrupted during DNS management (PP restarts, for example), the status field value is not changed back to "0" and stays as "2." Domains with this status value are not recorded in the named.conf file during any type of DNS management.
ResolutionNote: Back up the PP database before applying the solution described below. Use the %plesk_bin%\dbclient.exe utility to run SQL queries against the PP database as shown below:
"%plesk_bin%\dbclient.exe" --direct-sql --sql="select * from misc"
Henceforth, only SQL queries are shown. Use these queries as a parameter for the --sql flag.
1. Check records in the dns_zone table for the affected problem domain (domain.com, for example):
select * from dns_zone where name like 'domain.com';
2. If there are several records for the same domain, PP uses the one which has the lowest id field value. Delete the other records:
delete from dns_zone where id=[wrong_record_id]
3. Change the status field value from "2" to "0" in the record belonging to the affected domain:
update dns_zone set status=0 where id=[correct_zone_id]
4. Once the PP database is updated, use the dnsmng.exe utility to dump the correct BIND configuration files:
dnsmng.exe update *