Las sumas acumulativas no se admiten hasta SQL Server 2012+. Presumiblemente, está utilizando SQL Server 2005 o 2008 o su configuración de compatibilidad está establecida en 105 o menos (consulte aquí ).
En estas versiones, puede usar outer apply
:
select t.*, s.amount
from @t t outer apply
(select sum(t2.amount) as amount
from @t t2
where t2.cname = t.cname and t2.cid <= t.cid
) s;