Abbiamo eseguito un test su SQL Server 2014 quando disponevamo di 10 database, 100 schemi diversi in ciascun database, 10 tabelle piccole (~ 50 righe) in ogni schema (quindi 10.000 tabelle in totale) e abbiamo creato indici full-text su tutti questi tabelle in tutti questi database contemporaneamente.
In alcuni minuti abbiamo scoperto che SQL Server ha smesso di accettare qualsiasi connessione (tranne la ADMIN:.
connessione). Se riavviamo il server, possiamo connetterci, ma dopo qualche tempo si blocca di nuovo. Dopo alcune indagini abbiamo scoperto che è causato dal consumo di tutti i thread di lavoro dm_os_tasks
e dm_os_waiting_tasks
ci ha mostrato che ci sono molte FT_MASTER_MERGE
attese nello SUSPENDED
stato. Abbiamo cercato su Google che "Full-text è in attesa dell'operazione di unione principale", ma non abbiamo trovato più informazioni effettive al riguardo.
Abbiamo provato diverse configurazioni di catalogo full-text: un catalogo per DB, un catalogo per schema, un catalogo per indice. Ad ogni modo il server si blocca con tutte queste attività sospese.
Qual è la causa principale delle attese, come può essere risolto / mitigato?
E qual è il modo consigliato per abilitare il full-text su una così grande quantità di tabelle?