Freigeben über


sp_fulltext_table (Transact-SQL)

Markiert eine Tabelle für die Volltextindizierung oder hebt die Markierung auf.

ms187960.note(de-de,SQL.90).gifWichtig:
Dieses Feature wird in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie dieses Feature beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen die neuen Volltext-DDL-Anweisungen (Data Definition Language). Weitere Informationen finden Sie in den Themen zu CREATE FULLTEXT INDEX, ALTER FULLTEXT CATALOG und DROP FULLTEXT CATALOG.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_fulltext_table 
   [ @tabname= ] 'qualified_table_name'               , [ @action= ] 'action' 
   [ 
      , [ @ftcat= ] 'fulltext_catalog_name'               , [ @keyname= ] 'unique_index_name' 
   ]

Argumente

[ @tabname=] 'qualified_table_name'

Ein ein- oder zweiteiliger Tabellenname. Die Tabelle muss in der aktuellen Datenbank vorhanden sein. qualified_table_name ist vom Datentyp nvarchar(517) und hat keinen Standardwert.

[ @action=] 'action'

Die auszuführende Aktion. action ist vom Datentyp nvarchar(50) und hat keinen Standardwert. Die folgenden Werte sind möglich.

Wert Beschreibung

Create

Erstellt die Metadaten für einen Volltextindex für die Tabelle, auf die durch qualified_table_name verwiesen wird. Darüber hinaus wird angegeben, dass der Volltextindex für diese Tabelle in fulltext_catalog_name gespeichert werden soll. Diese Aktion legt außerdem die Verwendung von unique_index_name als Volltextschlüsselspalte fest. Dieser eindeutige Index muss bereits vorhanden sein und muss für eine Spalte der Tabelle definiert sein.

Eine Volltextsuche für diese Tabelle kann erst durchgeführt werden, wenn der Volltextkatalog aufgefüllt ist.

Drop

Löscht die Metadaten für den Volltextindex für qualified_table_name. Ist der Volltextindex aktiviert, wird er vor dem Löschen automatisch deaktiviert. Es ist nicht erforderlich, Spalten zu entfernen, bevor der Volltextindex gelöscht wird.

Activate

Aktiviert die Möglichkeit, Volltextindexdaten für qualified_table_name nach der Deaktivierung zu sammeln. Es muss mindestens eine Spalte im Volltextindex vorhanden sein, damit er aktiviert werden kann.

Ein Volltextindex wird automatisch (für das Auffüllen) aktiviert, sobald die erste Spalte für die Indizierung hinzugefügt wird. Wenn die letzte Spalte aus dem Index gelöscht wird, wird der Index inaktiv. Wenn die Änderungsprotokollierung aktiviert ist, wird durch Aktivieren eines inaktiven Indexes ein neuer Auffüllvorgang gestartet.

Beachten Sie, dass dadurch nicht der eigentliche Volltextindex aufgefüllt wird, sondern nur die Tabelle im Volltextkatalog des Dateisystems registriert wird, um Zeilen von qualified_table_name während der nächsten Volltextindexauffüllung abrufen zu können.

Deactivate

Deaktiviert den Volltextindex für qualified_table_name, sodass die Volltextindexdaten für qualified_table_name nicht mehr gesammelt werden können. Die Volltextindexmetadaten sind weiterhin vorhanden, und die Tabelle kann erneut aktiviert werden.

Wenn die Änderungsprotokollierung aktiviert ist, wird durch Deaktivieren eines aktiven Indexes der Indexstatus fixiert: Alle derzeit ausgeführten Auffüllprozesse werden beendet, und an den Index werden keine weiteren Änderungen weitergegeben.

start_change_tracking

Startet das inkrementelle Auffüllen des Volltextindexes. Wenn die Tabelle nicht über einen Timestamp verfügt, wird das vollständige Auffüllen des Volltextindexes gestartet. Startet die Änderungsprotokollierung für die Tabelle.

Von der Volltextänderungsnachverfolgung werden keine WRITETEXT- oder UPDATETEXT-Operationen in diesen Spalten protokolliert, die den Typ image, text oder ntext aufweisen.

stop_change_tracking

Beendet die Änderungsprotokollierung für die Tabelle.

update_index

Gibt den aktuellen Satz der protokollierten Änderungen an den Volltextindex weiter.

Start_background_updateindex

Startet den Vorgang, der protokollierte Änderungen an den Volltextindex weitergibt, sobald sie auftreten.

Stop_background_updateindex

Beendet den Vorgang, der protokollierte Änderungen an den Volltextindex weitergibt, sobald sie auftreten.

start_full

Startet eine vollständige Auffüllung des Volltextindexes für die Tabelle.

start_incremental

Startet eine inkrementelle Auffüllung des Volltextindexes für die Tabelle.

Stop

Beendet das vollständige oder inkrementelle Auffüllen.

[ @ftcat=] 'fulltext_catalog_name'

Bei einer create-Aktion ein gültiger, vorhandener Volltextkatalogname. Für alle anderen Aktionen muss dieser Parameter gleich NULL sein. fulltext_catalog_name ist vom Datentyp sysname und hat den Standardwert NULL.

[ @keyname=] 'unique_index_name'

Bei einer create-Aktion ein gültiger, einspaltiger und eindeutiger Index ungleich NULL für qualified_table_name. Für alle anderen Aktionen muss dieser Parameter gleich NULL sein. unique_index_name ist vom Datentyp sysname und hat den Standardwert NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Nachdem ein Volltextindex für eine bestimmte Tabelle deaktiviert wurde, bleibt der vorhandene Volltextindex bis zum nächsten vollständigen Auffüllen vorhanden. Dieser Index wird jedoch nicht verwendet, da Microsoft SQL Server Abfragen für deaktivierte Tabellen blockiert.

Wenn die Tabelle erneut aktiviert, der Index jedoch nicht erneut aufgefüllt wird, ist der alte Index weiterhin für Abfragen für verbleibende, aber nicht für neue, volltextfähige Spalten verfügbar. Für Daten aus gelöschten Spalten werden Übereinstimmungen in Abfragen gefunden, für die eine umfassende Volltextspaltensuche angegeben ist.

Nach der Definition einer Tabelle für die Volltextindizierung kann das Ändern des Datentyps der Volltextspalte für den eindeutigen Schlüssel, durch Ändern des Datentyps dieser Spalte oder durch Ändern der Volltextspalte für den eindeutigen Schlüssel, ohne ein vollständiges erneutes Auffüllen bei einer nachfolgenden Abfrage zu einem Fehler führen, wobei die folgende Fehlermeldung zurückgegeben wird: "Fehler beim Konvertieren des Volltextsuchschlüssel-Wertes key_value in den Datentyp data_type." Um dies zu verhindern, löschen Sie die Volltextdefinition für diese Tabelle mithilfe der drop-Aktion von sp_fulltext_table, und definieren Sie sie neu mithilfe von sp_fulltext_table und sp_fulltext_column.

Die Volltextschlüsselspalte muss mit einer Größe von maximal 900 Byte definiert sein. Aus Gründen der Leistung sollte die Schlüsselspalte so klein wie möglich sein.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin, der festen Datenbankrollen db_owner und db_ddladmin oder ein Benutzer mit Verweisberechtigungen für den Volltextkatalog können sp_fulltext_table ausführen.

Beispiele

A. Aktivieren einer Tabelle für die Volltextindizierung

Im folgenden Beispiel werden Volltextindex-Metadaten für die Document-Tabelle der AdventureWorks-Datenbank erstellt. Cat_Desc ist ein Volltextkatalog. PK_Document_DocumentID ist ein eindeutiger, einspaltiger Index in Document.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'create', 'Cat_Desc', 'PK_Document_DocumentID';
--Add some columns
EXEC sp_fulltext_column 'Production.Document','DocumentSummary','add';
-- Activate the full-text index
EXEC sp_fulltext_table 'Production.Document','activate';
GO

B. Aktivieren und Weitergeben von protokollierten Änderungen

Im folgenden Beispiel wird die Änderungsprotokollierung aktiviert und die sofortige Weitergabe von auftretenden Änderungen an den Volltextindex gestartet.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'Start_change_tracking';
EXEC sp_fulltext_table 'Production.Document', 'Start_background_updateindex';
GO

C. Entfernen eines Volltextindexes

Im folgenden Beispiel werden Volltextindex-Metadaten für die Document-Tabelle der AdventureWorks-Datenbank entfernt.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'drop';
GO

Siehe auch

Verweis

INDEXPROPERTY (Transact-SQL)
OBJECTPROPERTY (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
sp_helpindex (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Prozeduren für die Volltextsuche (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005