Wir haben einen Test unter SQL Server 2014 durchgeführt, bei dem 10 Datenbanken, 100 verschiedene Schemas in jeder Datenbank, 10 kleine Tabellen (~ 50 Zeilen) in jedem Schema (also insgesamt 10 KB Tabellen) vorhanden waren, und wir haben Volltextindizes für alle diese erstellt Tabellen in all diesen Datenbanken gleichzeitig.
In einigen Minuten stellten wir fest, dass SQL Server angehalten wurde, um alle Verbindungen (außer ADMIN:.
Verbindungen) zu akzeptieren . Wenn wir den Server neu starten, können wir eine Verbindung herstellen, aber in einiger Zeit hängt er wieder. Nach einigen Nachforschungen stellten wir fest, dass dies durch den Verbrauch aller funktionierenden Threads verursacht wird, dm_os_tasks
und dm_os_waiting_tasks
zeigten uns, dass FT_MASTER_MERGE
im SUSPENDED
Zustand viele Wartezeiten bestehen . Wir haben gegoogelt, dass "Volltext auf Master-Merge-Vorgang wartet", aber keine aktuellen Informationen mehr gefunden.
Wir haben verschiedene Volltextkatalogkonfigurationen ausprobiert: einen Katalog pro Datenbank, einen Katalog pro Schema, einen Katalog pro Index. Auf jeden Fall hängt der Server mit all diesen angehaltenen Aufgaben.
Was ist die Hauptursache für die Wartezeiten, wie kann dies behoben / gemildert werden?
Und wie wird Volltext für eine so große Anzahl von Tabellen empfohlen?
quelle