Nous avons fait un test sur SQL Server 2014 lorsque nous avions 10 bases de données, 100 schémas différents dans chaque base de données, 10 petites tables (~ 50 lignes) dans chaque schéma (donc 10K tables au total) et nous avons créé des index de texte intégral sur toutes ces tables dans toutes ces bases de données simultanément.
En quelques minutes, nous avons constaté que SQL Server s'est arrêté pour accepter toutes les connexions (sauf la ADMIN:.
connexion). Si nous redémarrons le serveur, nous pouvons nous connecter, mais dans un certain temps, il se bloque à nouveau. Après une enquête, nous avons constaté que cela était dû à la consommation de tous les threads de travail dm_os_tasks
et dm_os_waiting_tasks
nous avons montré qu'il y avait beaucoup d' FT_MASTER_MERGE
attente en l' SUSPENDED
état. Nous avons googlé que "le texte intégral attend l'opération de fusion principale", mais nous n'avons trouvé aucune information plus réelle à ce sujet.
Nous avons essayé différentes configurations de catalogue de texte intégral: un catalogue par base de données, un catalogue par schéma, un catalogue par index. Quoi qu'il en soit, le serveur se bloque avec toutes ces tâches suspendues.
Quelle est la cause première des attentes, comment cela peut-il être corrigé / atténué?
Et quelle est la méthode recommandée pour activer le texte intégral sur un si grand nombre de tableaux?