Consulta recurrente de SQL Server 2005 con bucles en los datos, ¿es posible?

Tengo una mesa estándar de jefe / empleado subordinado. Necesito seleccionar un jefe (especificado por ID) y todos sus subordinados (y sus subrodinados, etc.) Desafortunadamente, los datos del mundo real tienen algunos bucles (por ejemplo, los dueños de ambas compañías se han establecido como su jefe). La consulta recursiva simple con un CTE ahoga en esto (nivel de recursión máximo de 100 superado). ¿Pueden los empleados aún ser seleccionados? No me importa el orden en el que se seleccionan, solo que cada uno de ellos se selecciona una vez.

Adicional: Quieres mi consulta? Umm ... OK ... creo que es bastante obvio, pero - aquí está:

with
UserTbl as -- Selects an employee and his subordinates.
(
    select a.[User_ID], a.[Manager_ID] from [User] a WHERE [User_ID] = @UserID
    union all
    select a.[User_ID], a.[Manager_ID] from [User] a join UserTbl b on (a.[Manager_ID]=b.[User_ID])
)
select * from UserTbl

Agregado 2: Oh, en caso de que no quede claro, este es un sistema de producción y tengo que hacer una pequeña actualización (básicamente, añadir un tipo de informe). Por lo tanto, prefiero no modificar los datos si se puede evitar.

Respuestas a la pregunta(10)

Su respuesta a la pregunta