Ми зробили тест на SQL Server 2014, коли у нас було 10 баз даних, 100 різних схем у кожній базі даних, 10 невеликих (~ 50 рядків) таблиць у кожній схемі (тобто 10K таблиць загалом), і ми створили повнотекстові індекси на всі ці таблиці у всіх цих базах даних одночасно.
Через кілька хвилин ми виявили, що SQL Server перестав приймати будь-які з'єднання (крім ADMIN:.
з'єднання). Якщо ми перезапустимо сервер, ми можемо підключитися, але через деякий час він знову зависне. Після деякого розслідування ми з'ясували, що це викликано споживанням усіх робочих ниток, dm_os_tasks
і dm_os_waiting_tasks
показали нам, що FT_MASTER_MERGE
в SUSPENDED
державі багато чекає . Ми похизувались, що "Повнотекстовий текст очікує на операцію злиття головного", але більше інформації про нього не знайшли.
Ми спробували різні повнотекстові конфігурації каталогу: один каталог на БД, один каталог на схему, один каталог на індекс. У будь-якому випадку сервер зависає з усіма цими призупиненими завданнями.
Що є першопричиною очікування, як це можна виправити / пом'якшити?
І який рекомендований спосіб включити повнотекстовий текст на такій великій кількості таблиць?