ALTER FULLTEXT INDEX (Transact-SQL)ALTER FULLTEXT INDEX (Transact-SQL)

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Ändert die Eigenschaften eines Volltextindex in SQL ServerSQL Server.Changes the properties of a full-text index in SQL ServerSQL Server.

Themenlinksymbol Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
ALTER FULLTEXT INDEX ON table_name  
   { ENABLE   
   | DISABLE  
   | SET CHANGE_TRACKING [ = ] { MANUAL | AUTO | OFF }  
   | ADD ( column_name   
           [ TYPE COLUMN type_column_name ]   
           [ LANGUAGE language_term ]  
           [ STATISTICAL_SEMANTICS ]  
           [,...n]   
         )  
     [ WITH NO POPULATION ]  
   | ALTER COLUMN column_name  
     { ADD | DROP } STATISTICAL_SEMANTICS  
     [ WITH NO POPULATION ]  
   | DROP ( column_name [,...n] )  
     [ WITH NO POPULATION ]   
   | START { FULL | INCREMENTAL | UPDATE } POPULATION  
   | {STOP | PAUSE | RESUME } POPULATION   
   | SET STOPLIST [ = ] { OFF| SYSTEM | stoplist_name }  
     [ WITH NO POPULATION ]   
   | SET SEARCH PROPERTY LIST [ = ] { OFF | property_list_name }  
     [ WITH NO POPULATION ]   
   }  
[;]  

ArgumenteArguments

table_nametable_name
Der Name der Tabelle oder der indizierten Sicht mit den Spalten, die im Volltextindex enthalten sind.Is the name of the table or indexed view that contains the column or columns included in the full-text index. Die Angabe des Datenbank- und Tabellenbesitzernamens ist optional.Specifying database and table owner names is optional.

ENABLE | DISABLEENABLE | DISABLE
Teilt SQL ServerSQL Server mit, ob Volltextindexdaten für table_name gesammelt werden sollen.Tells SQL ServerSQL Server whether to gather full-text index data for table_name. Mit ENABLE wird der Volltextindex aktiviert, mit DISABLE wird er deaktiviert.ENABLE activates the full-text index; DISABLE turns off the full-text index. In der Tabelle werden Volltextabfragen nicht unterstützt, während der Index deaktiviert wird.The table will not support full-text queries while the index is disabled.

Das Deaktivieren eines Volltextindexes ermöglicht Ihnen, die Änderungsnachverfolgung zu deaktivieren, den Volltextindex jedoch beizubehalten, den Sie jederzeit mittels ENABLE reaktivieren können.Disabling a full-text index allows you to turn off change tracking but keep the full-text index, which you can reactivate at any time using ENABLE. Wenn der Volltextindex deaktiviert ist, werden die Metadaten des Volltextindexes weiterhin in den Systemtabellen gespeichert.When the full-text index is disabled, the full-text index metadata remains in the system tables. Falls sich CHANGE_TRACKING im aktivierten Status befindet (automatisches oder manuelles Update) und der Volltextindex deaktiviert ist, wird der Status der Indizes eingefroren. Ein zurzeit ausgeführter Durchforstungsvorgang wird angehalten, und neue Änderungen an den Tabellendaten werden nicht nachverfolgt und an den Index weitergeleitet.If CHANGE_TRACKING is in the enabled state (automatic or manual update) when the full-text index is disabled, the state of the index freezes, any ongoing crawl stops, and new changes to the table data are not tracked or propagated to the index.

SET CHANGE_TRACKING {MANUAL | AUTO | OFF}SET CHANGE_TRACKING {MANUAL | AUTO | OFF}
Gibt an, ob vom Volltextindex abgedeckte Änderungen (Updates, Löschungen oder Einfügungen) an Tabellenspalten von SQL ServerSQL Server an den Volltextindex weitergegeben werden.Specifies whether changes (updates, deletes, or inserts) made to table columns that are covered by the full-text index will be propagated by SQL ServerSQL Server to the full-text index. Datenänderungen durch WRITETEXT und UPDATETEXT werden im Volltextindex nicht wiedergegeben und bei der Änderungsnachverfolgung nicht ausgewählt.Data changes through WRITETEXT and UPDATETEXT are not reflected in the full-text index, and are not picked up with change tracking.

Hinweis

Informationen zur Interaktion zwischen der Änderungsnachverfolgung und WITH NO POPULATION finden Sie unter "Hinweise" weiter unten in diesem Thema.For information about the interaction of change tracking and WITH NO POPULATION, see "Remarks," later in this topic.

MANUALMANUAL
Gibt an, dass die nachverfolgten Änderungen durch das Aufrufen folgender Anweisung manuell verbreitet werden: ALTER FULLTEXT INDEX ... START UPDATE POPULATION Transact-SQLTransact-SQL-Anweisung (manuelles Auffüllung).Specifies that the tracked changes will be propagated manually by calling the ALTER FULLTEXT INDEX ... START UPDATE POPULATION Transact-SQLTransact-SQL statement (manual population). Sie können den SQL ServerSQL Server -Agent verwenden, um die Transact-SQLTransact-SQL -Anweisung in regelmäßigen Abständen aufzurufen.You can use SQL ServerSQL Server Agent to call this Transact-SQLTransact-SQL statement periodically.

AUTOAUTO
Gibt an, dass die nachverfolgten Änderungen automatisch weitergegeben werden, wenn Daten in der Basistabelle geändert werden (automatische Auffüllung).Specifies that the tracked changes will be propagated automatically as data is modified in the base table (automatic population). Obwohl Änderungen automatisch weitergegeben werden, werden diese Änderungen u. U. nicht sofort im Volltextindex wiedergegeben.Although changes are propagated automatically, these changes might not be reflected immediately in the full-text index. AUTO ist die Standardeinstellung.AUTO is the default.

OFFOFF
Gibt an, dass SQL ServerSQL Server keine Liste der Änderungen an den indizierten Daten speichert.Specifies that SQL ServerSQL Server will not keep a list of changes to the indexed data.

ADD | DROP column_nameADD | DROP column_name
Gibt die Spalten an, die einem Volltextindex hinzugefügt bzw. daraus gelöscht werden sollen.Specifies the columns to be added or deleted from a full-text index. Die Spalte oder die Spalten müssen vom Typ char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary oder varbinary(max) sein.The column or columns must be of type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, or varbinary(max).

Die DROP-Klausel sollte nur für Spalten verwendet werden, die zuvor für die Volltextindizierung aktiviert wurden.Use the DROP clause only on columns that have been enabled previously for full-text indexing.

Verwenden Sie TYPE COLUMN und LANGUAGE mit der ADD-Klausel, um diese Eigenschaften in column_name festzulegen.Use TYPE COLUMN and LANGUAGE with the ADD clause to set these properties on the column_name. Wenn eine Spalte hinzugefügt wird, muss der Volltextindex in der Tabelle erneut aufgefüllt werden, damit die Volltextabfragen in dieser Spalte funktionieren können.When a column is added, the full-text index on the table must be repopulated in order for full-text queries against this column to work.

Hinweis

Ob der Volltextindex aufgefüllt wird, nachdem eine Spalte hinzugefügt oder entfernt wurde, hängt davon ab, ob die Änderungsnachverfolgung aktiviert wurde und WITH NO POPULATION angegeben ist.Whether the full-text index is populated after a column is added or dropped from a full-text index depends on whether change-tracking is enabled and whether WITH NO POPULATION is specified. Weitere Informationen finden Sie unter "Hinweise" weiter unten in diesem Thema.For more information, see "Remarks," later in this topic.

TYPE COLUMN type_column_nameTYPE COLUMN type_column_name
Gibt den Namen der Tabellenspalte table_column_name an, die den Dokumenttyp für ein Dokument vom Typ varbinary, varbinary(max) oder image enthält.Specifies the name of a table column, type_column_name, that is used to hold the document type for a varbinary, varbinary(max), or image document. Diese Spalte, als Typspalte bezeichnet, enthält eine vom Benutzer angegebene Dateierweiterung (.doc, .pdf, .xls usw.)This column, known as the type column, contains a user-supplied file extension (.doc, .pdf, .xls, and so forth). Die Typspalte muss vom Typ char, nchar, varcharoder nvarcharsein.The type column must be of type char, nchar, varchar, or nvarchar.

Geben Sie TYPE COLUMN type_column_name nur an, wenn column_name eine Spalte vom Typ varbinary, varbinary(max) oder image angibt, in der Daten als Binärdaten gespeichert werden. Andernfalls gibt SQL ServerSQL Server einen Fehler zurück.Specify TYPE COLUMN type_column_name only if column_name specifies a varbinary, varbinary(max) or image column, in which data is stored as binary data; otherwise, SQL ServerSQL Server returns an error.

Hinweis

Bei der Indizierung verwendet die Volltext-Engine die Abkürzung in der Typspalte der einzelnen Tabellenzeilen, um den für das Dokument in column_name zu verwendenden Filter für die Volltextsuche zu ermitteln.At indexing time, the Full-Text Engine uses the abbreviation in the type column of each table row to identify which full-text search filter to use for the document in column_name. Der Filter lädt das Dokument als binären Datenstrom, entfernt die Formatierungsinformationen und sendet den Text des Dokuments an die Wörtertrennungskomponente.The filter loads the document as a binary stream, removes the formatting information, and sends the text from the document to the word-breaker component. Weitere Informationen finden Sie unter Konfigurieren und Verwalten von Filtern für die Suche.For more information, see Configure and Manage Filters for Search.

LANGUAGE language_termLANGUAGE language_term
Die Sprache der in column_name gespeicherten Daten.Is the language of the data stored in column_name.

language_term ist optional und kann als Zeichenfolge, ganze Zahl oder Hexadezimalwert entsprechend dem Gebietsschemabezeichner (Locale Identifier, LCID) einer Sprache angegeben werden.language_term is optional and can be specified as a string, integer, or hexadecimal value corresponding to the locale identifier (LCID) of a language. Wird language_term angegeben, wird die entsprechende Sprache auf alle Elemente der Suchbedingung angewendet.If language_term is specified, the language it represents will be applied to all elements of the search condition. Wird kein Wert angegeben, wird die Standardvolltextsprache der SQL ServerSQL Server-Instanz verwendet.If no value is specified, the default full-text language of the SQL ServerSQL Server instance is used.

Mithilfe der gespeicherten Prozedur sp_configure können Sie auf Informationen zur Standardvolltextsprache der SQL ServerSQL Server-Instanz zugreifen.Use the sp_configure stored procedure to access information about the default full-text language of the SQL ServerSQL Server instance.

In Form einer Zeichenfolge entspricht language_term dem Wert der alias-Spalte in der syslanguages-Systemtabelle.When specified as a string, language_term corresponds to the alias column value in the syslanguages system table. Die Zeichenfolge muss in einfache Anführungszeichen eingeschlossen werden, z.B. 'language_term'.The string must be enclosed in single quotation marks, as in 'language_term'. In Form einer ganzen Zahl ist language_term der eigentliche Gebietsschemabezeichner, der die Sprache identifiziert.When specified as an integer, language_term is the actual LCID that identifies the language. In Form eines Hexadezimalwerts ist language_term gleich 0x, gefolgt vom Hexadezimalwert des Gebietsschemabezeichners.When specified as a hexadecimal value, language_term is 0x followed by the hex value of the LCID. Der Hexadezimalwert darf acht Ziffern nicht überschreiten, einschließlich führender Nullen.The hex value must not exceed eight digits, including leading zeros.

Wird der Wert im Format Doppelbyte-Zeichensatz (Double-Byte Character Set, DBCS) angegeben, wird er von SQL ServerSQL Server in Unicode konvertiert.If the value is in double-byte character set (DBCS) format, SQL ServerSQL Server will convert it to Unicode.

Ressourcen, wie die Wörtertrennung und die Wortstammerkennung, müssen für die mit language_term angegebene Sprache aktiviert sein.Resources, such as word breakers and stemmers, must be enabled for the language specified as language_term. Falls die angegebene Sprache von den Ressourcen nicht unterstützt wird, gibt SQL ServerSQL Server einen Fehler zurück.If such resources do not support the specified language, SQL ServerSQL Server returns an error.

Verwenden Sie die neutrale (0x0) Sprachenressource für Nicht-BLOB- und Nicht-XML-Spalten mit Textdaten in mehreren Sprachen oder für Fälle, in denen die Sprache des in der Spalte gespeicherten Texts unbekannt ist.For non-BLOB and non-XML columns containing text data in multiple languages, or for cases when the language of the text stored in the column is unknown, use the neutral (0x0) language resource. Für Dokumente, die in XML- oder BLOB-Spalten gespeichert werden, wird die Sprachcodierung im Dokument bei der Indizierung verwendet.For documents stored in XML- or BLOB-type columns, the language encoding within the document will be used at indexing time. In XML-Spalten wird die Sprache z. B. mit dem xml:lang-Attribut in XML-Dokumenten identifiziert.For example, in XML columns, the xml:lang attribute in XML documents will identify the language. Zur Abfragezeit wird der Wert, der vorher in language_term angegeben wurde, die Standardsprache, die für Volltextabfragen verwendet wird, es sei denn language_term wird als Teil einer Volltextabfrage angegeben.At query time, the value previously specified in language_term becomes the default language used for full-text queries unless language_term is specified as part of a full-text query.

STATISTICAL_SEMANTICSSTATISTICAL_SEMANTICS
Gilt für: SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Erstellt den zusätzlichen Schlüsselausdruck und die Dokumentähnlichkeitsindizes, die Teil der statistischen semantischen Indizierung sind.Creates the additional key phrase and document similarity indexes that are part of statistical semantic indexing. Weitere Informationen finden Sie unter Semantische Suche (SQL Server).For more information, see Semantic Search (SQL Server).

[ , ...n][ ,...n]
Gibt an, dass mehrere Spalten für die ADD-, ALTER- oder DROP-Klauseln angegeben werden können.Indicates that multiple columns may be specified for the ADD, ALTER, or DROP clauses. Bei Angabe mehrerer Spalten müssen die Spalten mit Kommas getrennt werden.When multiple columns are specified, separate these columns with commas.

WITH NO POPULATIONWITH NO POPULATION
Gibt an, dass der Volltextindex nach einem ADD- oder DROP-Spaltenvorgang oder einem SET STOPLIST-Vorgang nicht aufgefüllt wird.Specifies that the full-text index will not be populated after an ADD or DROP column operation or a SET STOPLIST operation. Der Index wird nur aufgefüllt, wenn der Benutzer einen START...POPULATION-Befehl ausführt.The index will only be populated if the user executes a START...POPULATION command.

Wenn NO POPULATION angegeben ist, füllt SQL ServerSQL Server keinen Index auf.When NO POPULATION is specified, SQL ServerSQL Server does not populate an index. Der Index wird erst aufgefüllt, wenn der Benutzer einen ALTER FULLTEXT INDEX...START POPULATION-Befehl ausgibt.The index is populated only after the user gives an ALTER FULLTEXT INDEX...START POPULATION command. Wenn NO POPULATION nicht angegeben ist, füllt SQL ServerSQL Server den Index auf.When NO POPULATION is not specified, SQL ServerSQL Server populates the index.

Falls CHANGE_TRACKING aktiviert und WITH NO POPULATION angegeben ist, gibt SQL ServerSQL Server einen Fehler zurück.If CHANGE_TRACKING is enabled and WITH NO POPULATION is specified, SQL ServerSQL Server returns an error. Wenn CHANGE_TRACKING aktiviert und WITH NO POPULATION nicht angegeben ist, füllt SQL ServerSQL Server den Index vollständig auf.If CHANGE_TRACKING is enabled and WITH NO POPULATION is not specified, SQL ServerSQL Server performs a full population on the index.

Hinweis

Weitere Informationen zur Interaktion zwischen der Änderungsnachverfolgung und WITH NO POPULATION finden Sie unter "Hinweise" weiter unten in diesem Thema.For more information about the interaction of change tracking and WITH NO POPULATION, see "Remarks," later in this topic.

{ADD | DROP } STATISTICAL_SEMANTICS{ADD | DROP } STATISTICAL_SEMANTICS
Gilt für: SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Aktiviert oder deaktiviert die statistische semantische Indizierung für die angegebenen Spalten.Enables or disables statistical semantic indexing for the specified columns. Weitere Informationen finden Sie unter Semantische Suche (SQL Server).For more information, see Semantic Search (SQL Server).

START {FULL|INCREMENTAL|UPDATE} POPULATIONSTART {FULL|INCREMENTAL|UPDATE} POPULATION
Teilt SQL ServerSQL Server mit, dass die Auffüllung des Volltextindex für table_name beginnen kann.Tells SQL ServerSQL Server to begin population of the full-text index of table_name. Falls bereits eine Auffüllung des Volltextindexes ausgeführt wird, gibt SQL ServerSQL Server eine Warnung zurück und startet keine neue Auffüllung.If a full-text index population is already in progress, SQL ServerSQL Server returns a warning and does not start a new population.

FULLFULL
Gibt an, dass jede Zeile der Tabelle für die Volltextindizierung abgerufen werden soll, auch wenn die Zeilen bereits indiziert wurden.Specifies that every row of the table be retrieved for full-text indexing even if the rows have already been indexed.

INCREMENTALINCREMENTAL
Gibt an, dass nur die Zeilen für die Volltextindizierung abgerufen werden sollen, die seit dem letzten Auffüllen geändert wurden.Specifies that only the modified rows since the last population be retrieved for full-text indexing. INCREMENTAL kann nur angewendet werden, wenn die Tabelle eine Spalte vom Typ timestampbesitzt.INCREMENTAL can be applied only if the table has a column of the type timestamp. Falls eine Tabelle im Volltextkatalog keine Spalte vom Typ timestamp besitzt, wird die Tabelle vollständig aufgefüllt.If a table in the full-text catalog does not contain a column of the type timestamp, the table undergoes a FULL population.

UPDATEUPDATE
Gibt die Verarbeitung aller Einfügungen, Updates oder Löschungen seit dem letzten Update des Index für die Änderungsnachverfolgung an.Specifies the processing of all insertions, updates, or deletions since the last time the change-tracking index was updated. Das Auffüllen der Änderungsnachverfolgung muss in einer Tabelle aktiviert sein, nicht aktiviert sein sollten jedoch die Aktualisierung des Index im Hintergrund und die automatische Änderungsnachverfolgung.Change-tracking population must be enabled on a table, but the background update index or the auto change tracking should not be turned on.

{STOP | PAUSE | RESUME } POPULATION{STOP | PAUSE | RESUME } POPULATION
Beendet eine zurzeit ausgeführte Auffüllung oder hält diese an; oder beendet eine angehaltene Auffüllung bzw. setzt diese fort.Stops, or pauses any population in progress; or stops or resumes any paused population.

Mit STOP POPULATION wird weder die automatische Änderungsnachverfolgung noch das Update des Index im Hintergrund beendet.STOP POPULATION does not stop auto change tracking or background update index. Verwenden Sie SET CHANGE_TRACKING OFF, um die Änderungsnachverfolgung zu beenden.To stop change tracking, use SET CHANGE_TRACKING OFF.

PAUSE POPULATION und RESUME POPULATION können nur für vollständige Auffüllungen verwendet werden.PAUSE POPULATION and RESUME POPULATION can only be used for full populations. Für andere Auffüllungstypen sind sie nicht relevant, da die anderen Auffüllungen Durchforstungsvorgänge dort fortsetzen, wo sie beendet wurden.They are not relevant to other population types because the other populations resume crawls from where the crawl stopped.

SET STOPLIST { OFF| SYSTEM | stoplist_name }SET STOPLIST { OFF| SYSTEM | stoplist_name }
Ändert die Volltextstoppliste, die dem Index zugeordnet ist, wenn überhaupt.Changes the full-text stoplist that is associated with the index, if any.

OFFOFF
Gibt an, dass dem Volltextindex keine Stoppliste zugeordnet werden soll.Specifies that no stoplist be associated with the full-text index.

SYSTEMSYSTEM
Gibt an, dass die Standardvolltext-Systemstoppliste STOPLIST für diesen Volltextindex verwendet werden soll.Specifies that the default full-text system STOPLIST should be used for this full-text index.

stoplist_namestoplist_name
Gibt den Namen der Stoppliste an, die dem Volltextindex zugeordnet werden soll.Specifies the name of the stoplist to be associated with the full-text index.

Weitere Informationen finden sie unter Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche.For more information, see Configure and Manage Stopwords and Stoplists for Full-Text Search.

SET SEARCH PROPERTY LIST { OFF | property_list_name } [ WITH NO POPULATION ]SET SEARCH PROPERTY LIST { OFF | property_list_name } [ WITH NO POPULATION ]
Gilt für: SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Ändert die ggf. Sucheigenschaftenliste, die dem Index zugeordnet ist.Changes the search property list that is associated with the index, if any.

OFFOFF
Gibt an, dass dem Volltextindex keine Eigenschaftenliste zugeordnet werden soll.Specifies that no property list be associated with the full-text index. Wenn Sie die Sucheigenschaftenliste eines Volltextindexes (ALTER FULLTEXT INDEX ... SET SEARCH PROPERTY LIST OFF) deaktivieren, ist keine Suche nach Eigenschaften in der Basistabelle mehr möglich.When you turn off the search property list of a full-text index (ALTER FULLTEXT INDEX ... SET SEARCH PROPERTY LIST OFF), property searching on the base table is no longer possible.

Wenn Sie eine vorhandene Sucheigenschaftenliste deaktivieren, wird der Volltextindex standardmäßig automatisch wieder aufgefüllt.By default, when you turn off an existing search property list, the full-text index automatically repopulates. Wenn Sie beim Deaktivieren einer Sucheigenschaftenliste WITH NO POPULATION angeben, erfolgt keine automatische Wiederauffüllung.If you specify WITH NO POPULATION when you turn off the search property list, automatic repopulation does not occur. Es empfiehlt sich jedoch, zu einem späteren Zeitpunkt, eine vollständige Auffüllung für diesen Volltextindex durchzuführen.However, we recommend that you eventually run a full population on this full-text index at your convenience. Wenn der Volltextindex wieder aufgefüllt wird, werden die eigenschaftenspezifischen Metadaten der gelöschten Sucheigenschaften entfernt, und der Volltextindex wird kleiner und leistungsfähiger.Repopulating the full-text index removes the property-specific metadata of each dropped search property, making the full-text index smaller and more efficient.

property_list_nameproperty_list_name
Gibt den Namen der Sucheigenschaftenliste an, die dem Volltextindex zugeordnet werden soll.Specifies the name of the search property list to be associated with the full-text index.

Wenn Sie einem Volltextindex eine Sucheigenschaftenliste hinzufügen, muss der Index erneut aufgefüllt werden, damit die Sucheigenschaften indiziert werden können, die für die entsprechende Sucheigenschaftenliste registriert sind.Adding a search property list to a full-text index requires repopulating the index to index the search properties that are registered for the associated search property list. Wenn Sie beim Hinzufügen der Sucheigenschaftenliste WITH NO POPULATION angeben, müssen Sie zu einem späteren Zeitpunkt eine Auffüllung des Index ausführen.If you specify WITH NO POPULATION when adding the search property list, you will need to run a population on the index, at an appropriate time.

Wichtig

Wenn der Volltextindex zuvor einer anderen Sucheigenschaftenliste zugeordnet war, muss er neu erstellt werden, damit er wieder in einem konsistenten Zustand vorliegt.If the full-text index was previously associated with a different search it must be rebuilt property list in order to bring the index into a consistent state. Bis eine vollständige Auffüllung ausgeführt wird, wird der Index sofort abgeschnitten, und er ist leer.The index is truncated immediately and is empty until the full population runs. Weitere Informationen zu den Fällen, in denen Änderungen der Sucheigenschaftenliste eine Neuerstellung bewirken, finden Sie unter "Hinweise" in diesem Thema.For more information about when changing the search property list causes rebuilding, see "Remarks," later in this topic.

Hinweis

Sie können eine Sucheigenschaftenliste mehr als einem Volltextindex in der gleichen Datenbank zuordnen.You can associate a given search property list with more than one full-text index in the same database.

So finden Sie die Sucheigenschaftenlisten für die aktuelle Datenbank:To find the search property lists on the current database

Weitere Informationen zu Sucheigenschaftenlisten finden Sie unter Suchen von Dokumenteigenschaften mithilfe von Sucheigenschaftenlisten.For more information about search property lists, see Search Document Properties with Search Property Lists.

Interaktionen zwischen der Änderungsnachverfolgung und dem Parameter NO POPULATIONInteractions of Change Tracking and NO POPULATION Parameter

Ob der Volltextindex aufgefüllt wird, hängt davon ab, ob die Änderungsnachverfolgung aktiviert wurde und WITH NO POPULATION in der ALTER FULLTEXT INDEX-Anweisung angegeben ist.Whether the full-text index is populated depends on whether change-tracking is enabled and whether WITH NO POPULATION is specified in the ALTER FULLTEXT INDEX statement. In der folgenden Tabelle wird das Ergebnis ihrer Interaktion zusammengefasst.The following table summarizes the result of their interaction.

ÄnderungsnachverfolgungChange Tracking WITH NO POPULATIONWITH NO POPULATION ErgebnisResult
Nicht aktiviertNot Enabled Nicht angegebenNot specified Der Index wird vollständig aufgefüllt.A full population is performed on the index.
Nicht aktiviertNot Enabled SpecifiedSpecified Der Index wird nicht aufgefüllt, bevor eine Anweisung ALTER FULLTEXT INDEX...START POPULATION ausgegeben wird.No population of the index occurs until an ALTER FULLTEXT INDEX...START POPULATION statement is issued.
AktiviertEnabled SpecifiedSpecified Ein Fehler wird ausgelöst, und der Index wird nicht geändert.An error is raised, and the index is not altered.
AktiviertEnabled Nicht angegebenNot specified Der Index wird vollständig aufgefüllt.A full population is performed on the index.

Weitere Informationen zum Auffüllen von Volltextindizes finden Sie unter Auffüllen von Volltextindizes.For more information about populating full-text indexes, see Populate Full-Text Indexes.

Neuerstellung des Index durch Änderungen an der SucheigenschaftenlisteChanging the Search Property List Causes Rebuilding the Index

Nachdem ein Volltextindex einer Sucheigenschaftenliste zum ersten Mal zugeordnet wurde, muss der Index neu aufgefüllt werden, damit eigenschaftenspezifische Suchbegriffe indiziert werden können.The first time that a full-text index is associated with a search property list, the index must be repopulated to index property-specific search terms. Die vorhandenen Indexdaten werden nicht abgeschnitten.The existing index data is not truncated.

Wenn Sie den Volltextindex jedoch einer anderen Eigenschaftenliste zuordnen, wird der Index neu erstellt.However, if you associate the full-text index with a different property list, the index is rebuilt. Bei der Neuerstellung wird der Volltextindex unmittelbar abgeschnitten, alle vorhandenen Daten werden entfernt, und der Index muss erneut aufgefüllt werden.Rebuilding immediately truncates the full-text index, removing all existing data, and the index must be repopulated. Während der erneuten Auffüllung werden von Volltextabfragen in der zugrunde liegenden Tabelle nur die Zeilen abgefragt, die bereits von der Auffüllung indiziert wurden.While the population progresses, full-text queries on the base table search only on the table rows that have already been indexed by the population. Die wieder aufgefüllten Indexdaten enthalten Metadaten aus den registrierten Eigenschaften der neu hinzugefügten Sucheigenschaftenliste.The repopulated index data will include metadata from the registered properties of the newly added search property list.

Eine erneute Erstellung wird u. a. durch folgende Szenarien verursacht:Scenarios that cause rebuilding include:

  • Direkter Wechsel zu einer anderen Sucheigenschaftenliste (siehe "Szenario A" weiter unten in diesem Abschnitt).Switching directly to a different search property list (see "Scenario A," later in this section).

  • Deaktivieren der Sucheigenschaftenliste und späteres Zuordnen des Indexes zu einer beliebigen Sucheigenschaftenliste (siehe "Szenario B" weiter unten in diesem Abschnitt)Turning off the search property list and later associating the index with any search property list (see "Scenario B," later in this section)

Hinweis

Weitere Informationen zur Funktionsweise der Volltextsuche mit Sucheigenschaftenlisten finden Sie unter Suchen von Dokumenteigenschaften mithilfe von Sucheigenschaftenlisten.For more information about how full-text search works with search property lists, see Search Document Properties with Search Property Lists. Weitere Informationen zum vollständigen Auffüllen finden Sie unter Auffüllen von Volltextindizes.For information about full populations, see Populate Full-Text Indexes.

Szenario A: Direkter Wechsel zu einer anderen SucheigenschaftenlisteScenario A: Switching Directly to a Different Search Property List

  1. Es wird ein Volltextindex in table_1 mit der Sucheigenschaftenliste spl_1 erstellt:A full-text index is created on table_1 with a search property list spl_1:

    CREATE FULLTEXT INDEX ON table_1 (column_name) KEY INDEX unique_key_index   
       WITH SEARCH PROPERTY LIST=spl_1,   
       CHANGE_TRACKING OFF, NO POPULATION;   
    
  2. Eine vollständige Auffüllung des Volltextindex wird ausgeführt:A full population is run on the full-text index:

    ALTER FULLTEXT INDEX ON table_1 START FULL POPULATION;  
    
  3. Der Volltextindex wird später mit der folgenden Anweisung einer anderen Sucheigenschaftenliste (spl_2) zugeordnet:The full-text index is later associated a different search property list, spl_2, using the following statement:

    ALTER FULLTEXT INDEX ON table_1 SET SEARCH PROPERTY LIST spl_2;  
    

    Diese Anweisung verursacht standardmäßig eine vollständige Auffüllung.This statement causes a full population, the default behavior. Vor Beginn der Auffüllung wird der Index jedoch automatisch von der Volltext-Engine abgeschnitten.However, before beginning this population, the Full-Text Engine automatically truncates the index.

Szenario B: Deaktivieren der Sucheigenschaftenliste und späteres Zuordnen des Indexes zu einer SucheigenschaftenlisteScenario B: Turning Off the Search Property List and Later Associating the Index with Any Search Property List

  1. In table_1 wird ein Volltextindex mit der Sucheigenschaftenliste spl_1 erstellt, und der Index wird standardmäßig automatisch aufgefüllt:A full-text index is created on table_1 with a search property list spl_1, followed by an automatic full population (the default behavior):

    CREATE FULLTEXT INDEX ON table_1 (column_name) KEY INDEX unique_key_index   
       WITH SEARCH PROPERTY LIST=spl_1;   
    
  2. Die Sucheigenschaftenliste wird wie folgt deaktiviert:The search property list is turned off, as follows:

    ALTER FULLTEXT INDEX ON table_1   
       SET SEARCH PROPERTY LIST OFF WITH NO POPULATION;   
    
  3. Der Volltextindex wird erneut der gleichen oder einer anderen Sucheigenschaftenliste zugeordnet.The full-text index is once more associated either the same search property list or a different one.

    Mit der folgenden Anweisung wird der Volltextindex beispielsweise wieder der ursprünglichen Sucheigenschaftenliste spl_1 zugeordnet:For example the following statement re-associates the full-text index with the original search property list, spl_1:

    ALTER FULLTEXT INDEX ON table_1 SET SEARCH PROPERTY LIST spl_1;  
    

    Diese Anweisung verursacht standardmäßig eine vollständige Auffüllung.This statement starts a full population, the default behavior.

    Hinweis

    Die Neuerstellung ist auch bei einer anderen Sucheigenschaftenliste wie spl_2 erforderlich.The rebuild would also be required for a different search property list, such as spl_2.

BerechtigungenPermissions

Der Benutzer muss über die ALTER-Berechtigung für die Tabelle oder die indizierte Sicht verfügen oder ein Mitglied der festen Serverrolle sysadmin oder der festen Datenbankrollen db_owner oder db_ddladmin sein.The user must have ALTER permission on the table or indexed view, or be a member of the sysadmin fixed server role, or the db_ddladmin or db_owner fixed database roles.

Wenn SET STOPLIST angegeben wird, muss der Benutzer über die REFERENCES-Berechtigung für die Stoppliste verfügen.If SET STOPLIST is specified, the user must have REFERENCES permission on the stoplist. Wenn SET SEARCH PROPERTY LIST angegeben wird, muss der Benutzer über die REFERENCES-Berechtigung für die Sucheigenschaftenliste verfügen.If SET SEARCH PROPERTY LIST is specified, the user must have REFERENCES permission on the search property list. Der Besitzer der angegebenen Stoppliste oder der angegebenen Sucheigenschaftenliste kann die REFERENCES-Berechtigung erteilen, wenn der Besitzer über ALTER FULLTEXT CATALOG-Berechtigungen verfügt.The owner of the specified stoplist or search property list can grant REFERENCES permission, if the owner has ALTER FULLTEXT CATALOG permissions.

Hinweis

Der Datenbankrolle publicSQL ServerSQL Server wird für die Standardstoppliste, die mit ausgeliefert wird, die REFERENCES-Berechtigung gewährt.The public is granted REFERENCES permission to the default stoplist that is shipped with SQL ServerSQL Server.

BeispieleExamples

A.A. Festlegen der manuellen ÄnderungsnachverfolgungSetting manual change tracking

Im folgenden Beispiel wird die manuelle Änderungsnachverfolgung für den Volltextindex in der JobCandidate-Tabelle festgelegt.The following example sets manual change tracking on the full-text index on the JobCandidate table.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate  
   SET CHANGE_TRACKING MANUAL;  
GO  

B.B. Zuordnen einer Eigenschaftenliste zu einem VolltextindexAssociating a property list with a full-text index

Gilt für: SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Im folgenden Beispiel wird die Eigenschaftenliste DocumentPropertyList dem Volltextindex in der Tabelle Production.Document zugeordnet.The following example associates the DocumentPropertyList property list with the full-text index on the Production.Document table. Mit dieser ALTER FULLTEXT INDEX-Anweisung wird eine vollständige Auffüllung gestartet, die das Standardverhalten der SET SEARCH PROPERTY LIST-Klausel darstellt.This ALTER FULLTEXT INDEX statement starts a full population, which is the default behavior of the SET SEARCH PROPERTY LIST clause.

Hinweis

Ein Beispiel, in dem die Eigenschaftenliste DocumentPropertyList erstellt wird, finden Sie unter CREATE SEARCH PROPERTY LIST (Transact-SQL).For an example that creates the DocumentPropertyList property list, see CREATE SEARCH PROPERTY LIST (Transact-SQL).

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON Production.Document   
   SET SEARCH PROPERTY LIST DocumentPropertyList;   
GO  

C.C. Entfernen einer SucheigenschaftenlisteRemoving a search property list

Gilt für: SQL Server 2012 (11.x)SQL Server 2012 (11.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

Im folgenden Beispiel wird die Eigenschaftenliste DocumentPropertyList aus dem Volltextindex in der Tabelle Production.Document entfernt.The following example removes the DocumentPropertyList property list from the full-text index on the Production.Document. In diesem Beispiel besteht keine dringende Notwendigkeit, die Eigenschaften aus dem Index zu entfernen; daher wird die WITH NO POPULATION-Option angegeben.In this example, there is no hurry for removing the properties from the index, so the WITH NO POPULATION option is specified. Suchen auf Eigenschaftenebene in diesem Volltextindex sind jedoch nicht mehr zulässig.However, property-level searching is longer allowed against this full-text index.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON Production.Document   
   SET SEARCH PROPERTY LIST OFF WITH NO POPULATION;   
GO  

D.D. Starten einer vollständigen AuffüllungStarting a full population

Im folgenden Beispiel wird die vollständige Ausfüllung für den Volltextindex in der JobCandidate-Tabelle gestartet.The following example starts a full population on the full-text index on the JobCandidate table.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate   
   START FULL POPULATION;  
GO  

Weitere InformationenSee Also

sys.fulltext_indexes (Transact-SQL) sys.fulltext_indexes (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL) CREATE FULLTEXT INDEX (Transact-SQL)
DROP FULLTEXT INDEX (Transact-SQL) DROP FULLTEXT INDEX (Transact-SQL)
Volltextsuche Full-Text Search
Auffüllen von VolltextindizesPopulate Full-Text Indexes