Texto completo: muchos FT_MASTER_MERGE esperan en estado SUSPENDIDO después de crear múltiples índices de texto completo (el servidor se bloquea)

9

Hicimos una prueba en SQL Server 2014 cuando teníamos 10 bases de datos, 100 esquemas diferentes en cada base de datos, 10 de tablas pequeñas (~ 50 filas) en cada esquema (por lo tanto, 10K tablas en total) y creamos índices de texto completo en todos estos tablas en todas estas bases de datos simultáneamente.

En varios minutos descubrimos que SQL Server se detuvo para aceptar cualquier conexión (excepto la ADMIN:.conexión). Si reiniciamos el servidor, podemos conectarnos, pero en algún momento se bloquea nuevamente. Después de una investigación, descubrimos que es causada por consumir todos los hilos de trabajo dm_os_tasksy dm_os_waiting_tasksnos mostró que hay muchas FT_MASTER_MERGEesperas en el SUSPENDEDestado. Buscamos en Google que "el texto completo está esperando la operación de fusión maestra", pero no encontramos más información real al respecto.

Probamos diferentes configuraciones de catálogo de texto completo: un catálogo por DB, un catálogo por esquema, un catálogo por índice. De todos modos, el servidor se cuelga con todas estas tareas suspendidas.

¿Cuál es la causa raíz de las esperas, cómo se puede solucionar / mitigar?

¿Y cuál es la forma recomendada de habilitar el texto completo en una cantidad tan grande de tablas?

Alexey F
fuente

Respuestas:

3

Tendrá que escalonar las operaciones en lugar de hacerlo todo a la vez. El elemento de conexión no habla de aceptar nuevas conexiones. Pero debido a esto, los hilos de espera no se están liberando (en su caso) y no es posible realizar nuevas conexiones.

Árbitro:

Este es un problema conocido con SQL Server. Desde el elemento de conexión:

Esto se debe a la forma en que se configura nuestro planificador de trabajos actual, lo que resulta en múltiples operaciones de fusión maestra que se ponen en cola pero nunca se señalan. Para ser claros, esto solo ocurre cuando se invocan varias operaciones de indexación / reorganización simultáneamente: la operación de indexación se completa muy bien y los resultados son cuestionables. Solo se agota el tiempo de espera de la fusión maestra y se reprograma para un período posterior.

Debido a la complejidad de la solución, hemos decidido esperar hasta la próxima versión principal antes de probarla. Por el momento, se recomienda escalonar las poblaciones de índice para no causar tales problemas de tiempo de espera . Avíseme si tiene más preguntas.

SqlWorldWide
fuente