Hola:
Como lo tienes, debes usar setTimeout, ya que setInterval se repite infinitamente cada vez que se usa, o sea que estás creando un bucle infinito cada 2 segundos... además si hay demora en la consulta ajax, posiblemente se solapen las consultas.
Definitivamente, mi opinión es usar setTimeout, aunque si se tratase de otra cosa, posiblemente sea mejor la otra opción.
Saludos