sp_fulltext_column (Transact-SQL)
Gibt an, ob eine bestimmte Spalte einer Tabelle bei der Volltextindizierung berücksichtigt werden soll.
Wichtig |
---|
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. |
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-, eine varbinary(max)- oder eine image-Spalte sein und darf keine berechnete Spalte sein. column_name ist vom Datentyp sysname und hat keinen Standardwert.Hinweis 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 Aktion, die ausgeführt werden soll. action ist vom Datentyp varchar(20) und hat keinen Standardwert. Die folgenden Werte sind möglich: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).Hinweis 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. Wird nur verwendet, wenn der Datentyp von column_name varbinary(max) oder image ist. 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 eingefroren. 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.
Hinweis |
---|
Alle Spalten, die in einer einzelnen Funktionsklausel für eine Volltextabfrage aufgelistet sind, müssen dieselbe Sprache verwenden. |
Siehe auch
Verweis
sp_help_fulltext_columns (Transact-SQL)
sp_help_fulltext_columns_cursor (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Prozeduren für Volltextsuche und semantische Suche (Transact-SQL)