¿Cuáles son las diferentes formas de reemplazar un cursor?

Me gustaría conocer su (s) experiencia (s) al reemplazar los cursores de SQL Server en el código existente, o cómo resolvió un problema que un tipo de procedimiento usaría un cursor para resolver, y lo hizo basado en el conjunto.

¿Cuál fue el problema para resolver el cursor? ¿Cómo reemplazaste el cursor?