Freigeben über


Verwalten von Volltextindizes

Anzeigen und Ändern der Eigenschaften eines Volltextindexes

So zeigen Sie die Eigenschaften eines Volltextindexes in Management Studio an oder ändern sie

  1. Erweitern Sie im Objekt-Explorer den Server.

  2. Erweitern Sie Datenbanken, und erweitern Sie dann die Datenbank, die den Volltextindex enthält.

  3. Erweitern Sie Tabellen.

  4. Klicken Sie mit der rechten Maustaste auf die Tabelle, für die der Volltextindex definiert ist. Wählen Sie Volltextindex, und klicken Sie dann im Kontextmenü Volltextindex auf Eigenschaften. Das Dialogfeld Volltextindexeigenschaften wird geöffnet.

  5. Im Bereich Seite auswählen können Sie eine der folgenden Seiten auswählen:

    Seite BESCHREIBUNG
    Allgemein Ändert die grundlegenden Eigenschaften des Volltextindex. Beinhaltet mehrere änderbare Eigenschaften und eine Reihe von nicht änderbaren Eigenschaften, wie z. B. Datenbankname, Tabellenname und den Namen der Volltextschlüsselspalte. Die änderbaren Eigenschaften lauten:

    Volltextindex-Stoppliste

    Volltextindizierung aktiviert

    Änderungsnachverfolgung

    Sucheigenschaftenliste



    Weitere Informationen finden Sie unter Volltextindexeigenschaften (Seite Allgemein).
    Spalten Zeigt die Tabellenspalten an, die für die Volltextindizierung verfügbar sind. Die ausgewählte Spalte bzw. die Spalten werden volltextindiziert. Sie können beliebig viele verfügbare Spalten auswählen und in den Volltextindex aufnehmen. Weitere Informationen finden Sie unter Volltextindexeigenschaften (Seite Spalten).
    Zeitpläne Verwenden Sie diese Seite, um Zeitpläne für einen SQL Server-Agent-Auftrag zu erstellen oder zu verwalten, der eine inkrementelle Tabellenauffüllung für die Auffüllungen des Volltextindexes beginnt. Weitere Informationen finden Sie unter Auffüllen von Volltextindizes.

    **Wichtig** Nachdem Sie das Dialogfeld Volltextindexeigenschaften beendet haben, wird jeder neu erstellte Zeitplan einem SQL Server-Agent Auftrag (Inkrementelle Tabellenauffüllung auf database_name starten) zugeordnet.table_name).
  6. Klicken Sie auf OK. , um alle Änderungen zu speichern und das Dialogfeld Eigenschaften des Volltextindexes zu beenden.

Anzeigen der Eigenschaften von indizierten Tabellen und Spalten

Mehrere Transact-SQL-Funktionen wie OBJECTPROPERTYEX können verwendet werden, um den Wert verschiedener Volltextindizierungseigenschaften abzurufen. Diese Informationen sind für die Verwaltung und Problembehandlung der Volltextsuche hilfreich.

In der folgenden Tabelle sind die Volltexteigenschaften aufgeführt, die sich auf indizierte Tabellen und Spalten und die zugehörigen Transact-SQL-Funktionen beziehen.

Eigenschaft BESCHREIBUNG Funktion
FullTextTypeColumn TYPE COLUMN in der Tabelle, die die Dokumenttypinformationen der Spalte enthält. COLUMNPROPERTY
IsFulltextIndexed Gibt an, ob eine Spalte für die Volltextindizierung aktiviert wurde. COLUMNPROPERTY
IsFulltextKey Gibt an, ob der Index der Volltextschlüssel für eine Tabelle ist. INDEXPROPERTY
TableFulltextBackgroundUpdateIndexOn Gibt an, ob für eine Tabelle das Update von Volltextindizes im Hintergrund aktiviert wurde. OBJECTPROPERTYEX
TableFulltextCatalogId ID des Volltextkatalogs, in dem die Daten des Volltextindex für die Tabelle gespeichert sind. OBJECTPROPERTYEX
TableFulltextChangeTrackingOn Gibt an, ob für eine Tabelle die Volltext-Änderungsnachverfolgung aktiviert ist. OBJECTPROPERTYEX
TableFulltextDocsProcessed Die Anzahl der seit dem Start der Volltextindizierung verarbeiteten Zeilen. OBJECTPROPERTYEX
TableFulltextFailCount Die Anzahl von Zeilen, für die die Volltextsuche keinen Index erstellt hat. OBJECTPROPERTYEX
TableFulltextItemCount Die Anzahl von Zeilen, für die ein Volltextindex erfolgreich erstellt wurde. OBJECTPROPERTYEX
TableFulltextKeyColumn Die Spalten-ID der Volltextspalte für den eindeutigen Schlüssel. OBJECTPROPERTYEX
TableFullTextMergeStatus Gibt an, ob eine Tabelle über einen Volltextindex verfügt, der gerade zusammengeführt wird. OBJECTPROPERTYEX
TableFulltextPendingChanges Anzahl der zu verarbeitenden ausstehenden Änderungsnachverfolgungseinträge. OBJECTPROPERTYEX
TableFulltextPopulateStatus Der Auffüllungsstatus einer Volltexttabelle. OBJECTPROPERTYEX
TableHasActiveFulltextIndex Gibt an, ob eine Tabelle über einen aktiven Volltextindex verfügt. OBJECTPROPERTYEX

Abrufen von Informationen zur Volltextschlüsselspalte

Normalerweise müssen die Ergebnisse von CONTAINSTABLE- oder FREETEXTTABLE-Rowsetwertfunktionen mit der Basistabelle verknüpft werden. In solchen Fällen müssen Sie den Namen der eindeutigen Schlüsselspalte kennen. Sie können abfragen, ob ein bestimmter eindeutiger Index als Volltextschlüssel verwendet wird, und anschließend den Bezeichner der Volltextschlüsselspalte abrufen.

So überprüfen Sie, ob ein bestimmter eindeutiger Index als Volltextschlüsselspalte verwendet wird

  1. Verwenden Sie eine SELECT-Anweisung, um die INDEXPROPERTY-Funktion aufzurufen. Verwenden Sie im Funktionsaufruf die OBJECT_ID-Funktion, um den Namen der Tabelle (table_name) in die Tabellen-ID zu konvertieren, geben Sie den Namen eines eindeutigen Indexes für die Tabelle an, und geben Sie die IsFulltextKey Indexeigenschaft wie folgt an:

    SELECT INDEXPROPERTY( OBJECT_ID('table_name'), 'index_name',  'IsFulltextKey' );  
    

    Diese Anweisung gibt den Wert 1 zurück, wenn der Index verwendet wird, um die Eindeutigkeit für die Spalte des Volltextschlüssels zu erzwingen, oder den Wert 0, wenn dies nicht der Fall ist.

Beispiel

Im folgenden Beispiel wird abgefragt, ob der PK_Document_DocumentID -Index zum Erzwingen der Eindeutigkeit der Volltextschlüsselspalte verwendet wird:

USE AdventureWorks  
GO  
SELECT INDEXPROPERTY ( OBJECT_ID('Production.Document'), 'PK_Document_DocumentID',  'IsFulltextKey' )  

Dieses Beispiel gibt den Wert 1 zurück, wenn der PK_Document_DocumentID -Index verwendet wird, um die Eindeutigkeit der Volltextschlüsselspalte zu erzwingen. Andernfalls wird 0 oder NULL zurückgegeben. NULL impliziert, dass ein ungültiger Indexname verwendet wird, der Indexname der Tabelle nicht zugeordnet werden kann, die Tabelle nicht vorhanden ist oder eine andere Fehlerbedingung vorliegt.

So suchen Sie den Bezeichner der Volltextschlüsselspalte

  1. Jede volltextfähige Tabelle beinhaltet eine Spalte, mit der die Eindeutigkeit aller Tabellenzeilen erzwungen wird (die UNIQUE**KEY-Spalte). Die TableFulltextKeyColumn-Eigenschaft, die mit der OBJECTPROPERTYEX-Funktion ermittelt werden kann, enthält die Spalten-ID der eindeutigen Schlüsselspalte.

    Um diesen Bezeichner abzurufen, können Sie mit einer SELECT-Anweisung die OBJECTPROPERTYEX-Funktion aufrufen. Verwenden Sie die OBJECT_ID-Funktion, um den Namen der Tabelle (table_name) in die Tabellen-ID zu konvertieren und die TableFulltextKeyColumn -Eigenschaft wie folgt anzugeben:

    SELECT OBJECTPROPERTYEX(OBJECT_ID( 'table_name'), 'TableFulltextKeyColumn' ) AS 'Column Identifier';  
    

Beispiele

Im folgenden Beispiel wird der Bezeichner der Volltextschlüsselspalte oder NULL zurückgegeben. NULL impliziert, dass ein ungültiger Indexname verwendet wird, der Indexname der Tabelle nicht zugeordnet werden kann, die Tabelle nicht vorhanden ist oder eine andere Fehlerbedingung vorliegt.

USE AdventureWorks;  
GO  
SELECT OBJECTPROPERTYEX(OBJECT_ID('Production.Document'), 'TableFulltextKeyColumn');  
GO  

Das folgende Beispiel zeigt, wie der Bezeichner der eindeutigen Schlüsselspalte verwendet werden kann, um den Namen der Spalte zu ermitteln.

USE AdventureWorks;  
GO  
DECLARE @key_column sysname  
SET @key_column = Col_Name(Object_Id('Production.Document'),  
ObjectProperty(Object_id('Production.Document'),  
'TableFulltextKeyColumn')   
)  
SELECT @key_column AS 'Unique Key Column';  
GO  

Dieses Beispiel gibt eine Resultsetspalte mit dem Namen Unique Key Columnzurück, die eine einzelne Zeile mit dem Namen der eindeutigen Schlüsselspalte (DocumentID) der Document-Tabelle enthält. Beachten Sie, dass diese Abfrage NULL zurückgibt, wenn ein ungültiger Indexname verwendet wird, der Indexname der Tabelle nicht zugeordnet werden kann, die Tabelle nicht vorhanden ist oder eine andere Fehlerbedingung vorliegt.

Deaktivieren oder erneutes Aktivieren einer Tabelle für Volltextindizierung

In SQL Server sind standardmäßig alle von Benutzern erstellten Datenbanken volltextfähig. Zudem wird eine einzelne Tabelle automatisch für die Volltextindizierung aktiviert, sobald ein Volltextindex für die Tabelle erstellt wird und dem Index eine Spalte hinzugefügt wird. Eine Tabelle wird für die Volltextindizierung automatisch deaktiviert, wenn die letzte Spalte aus dem Volltextindex der Tabelle entfernt wird.

Für eine Tabelle mit einem Volltextindex können Sie mit SQL Server Management Studio eine Tabelle für die Volltextindizierung manuell deaktivieren und erneut aktivieren.

So aktivieren Sie eine Tabelle für Volltextindizierung

  1. Erweitern Sie die Servergruppe, erweitern Sie Datenbanken, und erweitern Sie die Datenbank, die die Tabelle enthält, die für Volltextindizierung aktiviert werden soll.

  2. Erweitern Sie Tabellen, und klicken Sie mit der rechten Maustaste auf die Tabelle, die Sie deaktivieren oder für Volltextindizierung erneut aktivieren möchten.

  3. Wählen Sie Volltextindexaus, und klicken Sie anschließend auf Volltextindizierung deaktivieren oder Volltextindizierung aktivieren.

Entfernen eines Volltextindexes aus einer Tabelle

So entfernen Sie einen Volltextindex einer Tabelle

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Tabelle mit dem Volltextindex, den Sie löschen möchten

  2. Wählen Sie Volltextindex löschenaus.

  3. Klicken Sie auf OK , wenn Sie aufgefordert werden, das Löschen des Volltextindexes zu bestätigen.