Let’s assume we have three KMS servers for redundancy. How to fine tune the SRV records creation and priority?

Note: KMS clients should not be updating _vlmsc records, only KMS host machines should be doing.

by default a KMS server publish on DNS: Slmgr.vbs /sdns  ; Enables automatic DNS publishing by the KMS host.

DNS SRV settings fine tuning (examples):

_vlmcs._tcp.mydomain.com   SRV service location:
priority       = 10 (default is 0)  ; 10 is the first priorty
weight         = 75 (default is 0) ; 75% of client requests are load balanced to this kms server
port           = 1688
svr hostname   = kms1.mydomain.com
_vlmcs._tcp.mydomain.com   SRV service location:
priority       = 10 (default is 0)
weight         = 25 (default is 0) ; 25% of client requests are load balanced to this kms server
port           = 1688
svr hostname   = kms2.mydomain.com
_vlmcs._tcp.mydomain.com   SRV service location:
priority       = 20 (default is 0) ; 20 is less prioritary than 10
weight         = 75 (default is 0)  ; 75% of requests are load balanced on this third kms server
port           = 1688
svr hostname   = kms3.mydomain.com

When configured correctly, the first kms1 server, register dynamically the SRV record to the right DNS. To avoid to reset the values to 0, after SRV records fine tuning, you must disable DNS publishing on all KMS Servers: by doing this: Slmgr.vbs /cdns