Testowaliśmy na SQL Server 2014, kiedy mieliśmy 10 baz danych, 100 różnych schematów w każdej bazie danych, 10 małych (~ 50 wierszy) tabel w każdym schemacie (łącznie 10 tys. Tabel) i utworzyliśmy indeksy pełnotekstowe na tych wszystkich tabele we wszystkich tych bazach danych jednocześnie.
Po kilku minutach stwierdziliśmy, że SQL Server przestał akceptować wszelkie połączenia (z wyjątkiem ADMIN:.
połączenia). Jeśli zrestartujemy serwer, możemy się połączyć, ale po pewnym czasie zawiesi się ponownie. Po pewnym dochodzeniu ustaliliśmy, że jest to spowodowane zużyciem wszystkich działających wątków, dm_os_tasks
i dm_os_waiting_tasks
pokazaliśmy, że FT_MASTER_MERGE
w SUSPENDED
stanie jest dużo oczekiwań . Sprawdziliśmy w Google, że „Pełny operacja oczekuje na operację scalenia głównego”, ale nie znaleźliśmy żadnych faktycznych informacji na jej temat.
Próbowaliśmy różnych konfiguracji katalogu pełnotekstowego: jeden katalog na DB, jeden katalog na schemat, jeden katalog na indeks. W każdym razie serwer zawiesza się z tymi wszystkimi zawieszonymi zadaniami.
Jaka jest podstawowa przyczyna oczekiwań, jak można to naprawić / złagodzić?
A jaki jest zalecany sposób włączenia pełnego tekstu na tak dużej liczbie tabel?
źródło