No, za prvé jste vynechali '+' z vašeho řetězce. Tento způsob dělání věcí není zdaleka ideální, ale dá se to
DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)
Důrazně bych však doporučil přehodnotit, jak to udělat. Generování dynamického SQL často vede k chybám zabezpečení SQL Injection a také ztěžuje SQL Server (a další DB) najít nejlepší způsob zpracování vašeho dotazu. Máte-li uloženou proceduru, která může vrátit jakoukoli tabulku, nezískáváte prakticky žádný užitek z toho, že se jedná o uloženou proceduru v první řadě, protože nebude moct dělat mnoho co se týče optimalizací, a do značné míry oslabuje také bezpečnostní výhody.