la sustitución de variable en :SETVAR no funciona, porque en este caso es solo una sustitución de token.
Puede simular el comportamiento que espera así:
:SETVAR GREETING "HELLO"
DECLARE @salutation VARCHAR(5) = $(GREETING);
SELECT @salutation;
Saludos.