Trim characters from a field but only if it doesn't result in a duplicate?
This will check to make sure the value you are writing doesn't already exist in that field:

UPDATE s
SET    ServerName = replace(ServerName, '.domain.com', '')
FROM serverdata S
WHERE  ServerName LIKE '%.domain.com'
AND NOT EXISTS (SELECT 1 
                FROM serverdata s2
                WHERE s2.servername = &lt;&gt; replace(s1.ServerName, '.domain.com', ''))