Esto se basa en la idea errónea de que los índices XML son actualmente el único tipo que podría tener un esquema de identificación que sea> = 256000 (al menos en función de su observación; este esquema no está documentado AFAIK, por lo que ni siquiera está seguro de si es intencional). Probablemente esté bien en las versiones actuales, pero ¿quién sabe qué tipo de índice se agregará a continuación y dónde comenzará su esquema de identificación? Si desea excluir índices XML, ahora también está excluyendo otra cosa. Los índices espaciales, por ejemplo, parecen comenzar en id = 384000. Si la consulta anterior tiene la intención de incluir índices espaciales pero no índices XML, se sorprenderán.
Un filtro mucho mejor sería:
WHERE type <> 3;
... o incluso mejor, ya que es autodocumentado ...
WHERE type_desc <> N'XML';
Y ahora, cuando también desea excluir, digamos, índices espaciales, su consulta cambia a ...
WHERE type_desc NOT IN (N'XML', N'SPATIAL');
... en lugar de tener que averiguar qué rango numérico pueden ocupar (o no) los valores de id para los índices espaciales. Buena suerte con eso.
Estos están bastante claramente documentados en sys.indexes (Transact-SQL) . No veo ninguna referencia a este número mágico y le recomiendo encarecidamente que señale a su autor del tutorial aquí para que puedan ver que este número mágico no es algo en lo que deberían confiar (no importa enseñar a otros a confiar).
sys.sysindexkeys