variabelsubstitutionen i :SETVAR fungerar inte, eftersom det i det här fallet bara är en tokensubstitution.
Du kan simulera det beteende du förväntar dig så här:
:SETVAR GREETING "HELLO"
DECLARE @salutation VARCHAR(5) = $(GREETING);
SELECT @salutation;
Hälsningar.