Freigeben über


Verwalten Full-Text Indizes

Anzeigen und Ändern der Eigenschaften eines Full-Text Index

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, in der der Volltextindex definiert ist, wählen Sie Full-Text Index aus, und klicken Sie im KontextmenüFull-Text Index auf Eigenschaften. Dadurch wird das Dialogfeld "Volltextindexeigenschaften " geöffnet.

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

    Seite BESCHREIBUNG
    Allgemein Zeigt grundlegende Eigenschaften des Volltextindexes an. Dazu gehören mehrere modifizierbare Eigenschaften und eine Reihe nicht geänderter Eigenschaften wie Datenbankname, Tabellenname und der Name der Volltextschlüsselspalte. Die modifizierbaren Eigenschaften sind:

    Full-Text Indexausschlussliste

    Full-Text Indizierung aktiviert

    Änderungsnachverfolgung

    Liste der Sucheigenschaften



    Weitere Informationen finden Sie unter Full-Text Indexeigenschaften (Allgemeine Seite).
    Spalten Zeigt die Tabellenspalten an, die für die Volltextindizierung verfügbar sind. Die ausgewählte Spalte oder Spalten sind volltextindiziert. Sie können beliebig viele der verfügbaren Spalten im Volltextindex auswählen. Weitere Informationen finden Sie unter Full-Text Indexeigenschaften (Spaltenseite).
    Zeitpläne Verwenden Sie diese Seite, um Zeitpläne für einen SQL Server-Agent-Auftrag zu erstellen oder zu verwalten, der eine inkrementelle Tabellengesamtheit für die Volltextindexpopulationen startet. Weitere Informationen finden Sie unter Auffüllen von Volltextindizes.

    **Wichtig** Nachdem Sie das Dialogfeld Full-Text Indexeigenschaften beendet haben, wird ein neu erstellter Zeitplan einem SQL Server-Agent-Auftrag zugeordnet (Inkrementelle Tabellengesamtheit auf database_name starten).table_name).
  6. Klicken Sie auf "OK". um alle Änderungen zu speichern und das Dialogfeld "Volltextindexeigenschaften " 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 nützlich für die Verwaltung und Problembehandlung bei der Volltextsuche.

In der folgenden Tabelle sind die Volltexteigenschaften im Zusammenhang mit indizierten Tabellen und Spalten sowie deren zugehörigen Transact-SQL Funktionen aufgeführt.

Eigentum BESCHREIBUNG Funktion
FullTextTypeColumn SPALTENTYP 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. INDEXEIGENSCHAFT
TableFulltextBackgroundUpdateIndexOn Ob eine Tabelle Volltextindizierung für Hintergrundaktualisierungen unterstützt. OBJECTPROPERTYEX
TableFulltextCatalogId Volltextkatalog-ID, in der sich die Volltextindexdaten für die Tabelle befinden. OBJECTPROPERTYEX
TableFulltextChangeTrackingOn Gibt an, ob eine Tabelle die Nachverfolgung von Volltextänderungen aktiviert hat. OBJECTPROPERTYEX
TableFulltextDocsProcessed Die Anzahl der seit beginn der Volltextindizierung verarbeiteten Zeilen. OBJECTPROPERTYEX
TableFulltextFailCount Anzahl der Zeilen Full-Text, die von der Suche nicht indiziert wurden. OBJECTPROPERTYEX
TabelleVolltextElementAnzahl Die Anzahl der Zeilen, die erfolgreich volltextindiziert wurden. OBJECTPROPERTYEX
TableFulltextKeyColumn Die Spalten-ID der Spalte mit dem eindeutigen Volltextschlüssel. OBJECTPROPERTYEX
TableFullTextMergeStatus Eine Angabe darüber, ob eine Tabelle mit einem Volltextindex derzeit zusammengeführt wird. OBJECTPROPERTYEX
TabelleVolltextAusstehendeÄnderungen Anzahl der ausstehenden Änderungsnachverfolgungseinträge, die verarbeitet werden sollen. OBJECTPROPERTYEX
TableFulltextPopulateStatus Populationsstatus einer Volltexttabelle. OBJECTPROPERTYEX
TableHasActiveFulltextIndex Gibt an, ob eine Tabelle über einen aktiven Volltextindex verfügt. OBJECTPROPERTYEX

Abrufen von Informationen zur Full-Text Schlüsselspalte

In der Regel muss das Ergebnis von CONTAINSTABLE- oder FREETEXTTABLE-Rowset-bewerteten Funktionen mit der Basistabelle verknüpft werden. In solchen Fällen müssen Sie den eindeutigen Schlüsselspaltennamen kennen. Sie können sich fragen, ob ein bestimmter eindeutiger Index als Volltextschlüssel verwendet wird, und Sie können den Bezeichner der Volltextschlüsselspalte abrufen.

Um zu fragen, 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 funktion OBJECT_ID, 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 1 zurück, wenn der Index verwendet wird, um die Eindeutigkeit der Volltextschlüsselspalte und 0 zu erzwingen, wenn dies nicht der Fall ist.

Beispiel

Im folgenden Beispiel wird abgefragt, ob der PK_Document_DocumentID Index verwendet wird, um die Eindeutigkeit der Volltextschlüsselspalte wie folgt zu erzwingen:

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

In diesem Beispiel wird 1 zurückgegeben, 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 Sie einen ungültigen Indexnamen verwenden, der Indexname entspricht nicht der Tabelle, die Tabelle ist nicht vorhanden oder so weiter.

So finden Sie die Kennung der Volltext-Schlüsselsäule

  1. Jede volltextfähige Tabelle verfügt über eine Spalte, die verwendet wird, um eindeutige Zeilen für die Tabelle (die eindeutige**Schlüsselspalte) zu erzwingen. Die TableFulltextKeyColumn Eigenschaft, die von der OBJECTPROPERTYEX-Funktion abgerufen wird, enthält die Spalten-ID der eindeutigen Schlüsselspalte.

    Zum Abrufen dieses Bezeichners können Sie eine SELECT-Anweisung verwenden, um die OBJECTPROPERTYEX-Funktion aufzurufen. 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

Das folgende Beispiel gibt den Bezeichner der Volltextschlüsselspalte oder NULL zurück. NULL impliziert, dass Sie einen ungültigen Indexnamen verwenden, der Indexname entspricht nicht der Tabelle, die Tabelle ist nicht vorhanden oder so weiter.

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

Das folgende Beispiel zeigt, wie Sie den Bezeichner der eindeutigen Schlüsselspalte verwenden, um den Namen der Spalte abzurufen.

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  

In diesem Beispiel wird eine Ergebnisspalte namens Unique Key Column zurückgegeben, die eine einzelne Zeile mit dem Namen der eindeutigen Schlüsselspalte der Dokumenttabelle anzeigt: DocumentID. Beachten Sie, dass diese Abfrage NULL zurückgeben würde, wenn der Indexname ungültig wäre, der Indexname nicht der Tabelle entspräche, die Tabelle nicht existierte und so weiter.

Deaktivieren oder Reaktivieren einer Tabelle zur Full-Text-Indizierung

In SQL Server sind alle vom Benutzer erstellten Datenbanken standardmäßig Volltext aktiviert. Darüber hinaus wird eine einzelne Tabelle automatisch für die Volltextindizierung aktiviert, sobald ein Volltextindex darauf erstellt wird und dem Index eine Spalte hinzugefügt wird. Eine Tabelle wird automatisch für die Volltextindizierung deaktiviert, wenn die letzte Spalte aus dem Volltextindex gelöscht wird.

In einer Tabelle mit einem Volltextindex können Sie eine Tabelle für die Volltextindizierung mithilfe von SQL Server Management Studio manuell deaktivieren oder erneut aktivieren.

So aktivieren Sie eine Tabelle für die Volltextindizierung

  1. Erweitern Sie die Servergruppe, erweitern Sie Datenbanken, und erweitern Sie die Datenbank, die die Tabelle enthält, die Sie für die Volltextindizierung aktivieren möchten.

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

  3. Wählen Sie Full-Text Index aus, und klicken Sie dann auf Full-Text Index deaktivieren oder Full-Text Index aktivieren.

Entfernen eines Full-Text Index aus einer Tabelle

So entfernen Sie einen Volltextindex aus 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 Full-Text Index löschen aus.

  3. Wenn Sie dazu aufgefordert werden, klicken Sie auf "OK ", um zu bestätigen, dass Sie den Volltextindex löschen möchten.