L'approccio "semplice" sarebbe quello di eseguire il cast della colonna XML su VARCHAR(MAX) e semplicemente eseguire un REPLACE su di essa:
UPDATE
YourTable
SET
ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
Billy', 'Peter') AS XML)
WHERE
....
Sembra quasi che tu non possa eseguire un aggiornamento di più valori di nodi XML in una singola istruzione UPDATE, come spiega Richard Szalay qui :
Purtroppo, sembra che l'implementazione sia terribilmente limitata in quanto non può apportare un numero arbitrario di modifiche allo stesso valore in un singolo aggiornamento.
Quindi suppongo che dovrai usare l'approccio "stupido" VARCHAR(MAX) menzionato sopra, o eseguire l'aggiornamento in un ciclo (MENTRE trovi ancora un nodo con "billy", AGGIORNA quel nodo per leggere "Peter" invece ).
Marco