Share via


sp_fulltext_column (Transact-SQL)

Gibt an, ob eine bestimmte Spalte einer Tabelle bei der Volltextindizierung berücksichtigt werden soll.

Wichtiger HinweisWichtig

Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen ALTER FULLTEXT INDEX.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_fulltext_column [ @tabname= ] 'qualified_table_name' , 
     [ @colname= ] 'column_name' , 
     [ @action= ] 'action' 
     [ , [ @language= ] 'language_term' ] 
     [ , [ @type_colname= ] 'type_column_name' ]

Argumente

  • [ @tabname= ] 'qualified_table_name'
    Ein ein- oder zweiteiliger Tabellenname. Die Tabelle muss in der aktuellen Datenbank vorhanden sein. Die Tabelle muss über einen Volltextindex verfügen. qualified_table_name ist vom Datentyp nvarchar(517) und hat keinen Standardwert.

  • [ @colname= ] 'column_name'
    Der Name einer Spalte in qualified_table_name. Die Spalte muss eine Zeichen-, varbinary(max)- oder image-Spalte sein und darf keine berechnete Spalte sein. column_name ist vom Datentyp sysname und besitzt keinen Standardwert.

    HinweisHinweis

    SQL Server kann Volltextindizes von Textdaten erstellen, die in Spalten vom Datentyp varbinary(max) oder image gespeichert sind. Bilder und Abbildungen werden nicht indiziert.

  • [ @action= ] 'action'
    Die durchzuführende Aktion. action ist vom Datentyp varchar(20), besitzt keinen Standardwert und kann einen der folgenden Werte annehmen.

    Wert

    Beschreibung

    add

    Fügt dem inaktiven Volltextindex der Tabelle den column_name von qualified_table_name hinzu. Durch diese Aktion wird die Volltextindizierung für die Spalte aktiviert.

    drop

    Entfernt column_name aus dem inaktiven Volltextindex von qualified_table_name.

  • [ @language= ] 'language_term'
    Die Sprache der in der Spalte gespeicherten Daten. Eine Liste der in SQL Server enthaltenen Sprachen finden Sie unter sys.fulltext_languages (Transact-SQL).

    HinweisHinweis

    Verwenden Sie 'Neutral', wenn eine Spalte Daten in mehreren Sprachen oder in einer nicht unterstützten Sprache enthält. Die Standardsprache wird mithilfe der Konfigurationsoption 'default full-text language' angegeben.

  • [ @type_colname = ] 'type_column_name'
    Der Name einer Spalte in qualified_table_name, die den Dokumenttyp von column_name enthält. Diese Spalte muss vom Typ char, nchar, varchar oder nvarchar sein. Sie wird nur verwendet, wenn column_name den Datentyp varbinary(max) oder image besitzt. type_column_name ist vom Datentyp sysname und hat keinen Standardwert.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Wenn der Volltextindex aktiv ist, wird ggf. das derzeit ausgeführte Auffüllen beendet. Wenn für eine Tabelle mit einem aktiven Volltextindex die Änderungsnachverfolgung aktiviert ist, stellt SQL Server außerdem sicher, dass der Index aktuell ist. SQL Server beendet z. B. das aktuelle Auffüllen der Tabelle, löscht den vorhandenen Index und startet einen neuen Auffüllvorgang.

Wenn die Änderungsprotokollierung aktiviert ist und Spalten zum Volltextindex hinzugefügt oder aus ihm gelöscht werden sollen, wobei der Index beibehalten werden soll, sollte die Tabelle deaktiviert und dann die erforderlichen Spalten hinzugefügt oder gelöscht werden. Bei diesen Aktionen wird der Index fixiert. Die Tabelle kann später wieder aktiviert werden, wenn das Auffüllen gestartet werden soll.

Berechtigungen

Der Benutzer muss ein Mitglied der festen Datenbankrolle db_ddladmin oder ein Mitglied der festen Datenbankrolle db_owner bzw. der Besitzer der Tabelle sein.

Beispiele

Im folgenden Beispiel wird die DocumentSummary-Spalte aus der Document-Tabelle dem Volltextindex der Tabelle hinzugefügt.

USE AdventureWorks;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

Im folgenden Beispiel wird vorausgesetzt, dass Sie einen Volltextindex für die spanishTbl-Tabelle erstellt haben. Sie können die spanishCol-Spalte dem Volltextindex hinzufügen, indem Sie die folgende gespeicherte Prozedur ausführen:

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

Beim Ausführen der Abfrage:

SELECT * 
FROM spanishTbl 
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')

Das Resultset würde auch Zeilen mit anderen Formen von trabajar (arbeiten) einschließen, z. B. trabajo, trabajamos und trabajan.

HinweisHinweis

Alle Spalten, die in einer einzelnen Funktionsklausel für eine Volltextabfrage aufgelistet sind, müssen dieselbe Sprache verwenden.