sp_fulltext_catalog (Transact-SQL)

Erstellt und löscht einen Volltextkatalog und startet und beendet die Indizierung eines Katalogs. Für eine Datenbank können mehrere Volltextkataloge erstellt werden.

ms189801.note(de-de,SQL.90).gifWichtig:
Die gespeicherte Prozedur sp_fulltext_catalog wird in einer neueren Version von SQL Server nicht mehr verfügbar sein. Vermeiden Sie die Verwendung dieses Features in neuen Entwicklungsprojekten, und planen Sie die Änderung 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 CATALOG, ALTER FULLTEXT CATALOG und DROP FULLTEXT CATALOG.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_fulltext_catalog [ @ftcat= ] 'fulltext_catalog_name' , 
     [ @action= ] 'action' 
     [ , [ @path= ] 'root_directory' ] 

Argumente

  • [ @ftcat=] 'fulltext_catalog_name'
    Der Name des Volltextkatalogs. Katalognamen müssen innerhalb einer Datenbank eindeutig sein. fulltext_catalog_name ist vom Datentyp sysname.
  • [ @action=] 'action'
    Die auszuführende Aktion. action ist vom Datentyp varchar(20). Die folgenden Werte sind möglich.

    ms189801.note(de-de,SQL.90).gifHinweis:
    Volltextkataloge können bei Bedarf erstellt, gelöscht und geändert werden. Vermeiden Sie es jedoch, Schemaänderungen an mehreren Katalogen gleichzeitig auszuführen. Diese Aktionen können mit der gespeicherten Prozedur sp_fulltext_table ausgeführt werden. Dies ist die empfohlene Vorgehensweise.
    Wert Beschreibung

    Create

    Erstellt einen leeren, neuen Volltextkatalog im Dateisystem und fügt in sysfulltextcatalogs eine zugeordnete Zeile mit den Werten für fulltext_catalog_name und root_directory (falls vorhanden) ein. fulltext_catalog_name muss innerhalb der Datenbank eindeutig sein.

    Drop

    Löscht fulltext_catalog_name, indem dieser Volltextkatalog aus dem Dateisystem entfernt und die zugeordnete Zeile in sysfulltextcatalogs gelöscht wird. Diese Aktion erzeugt einen Fehler, wenn der Katalog Indizes für eine oder mehrere Tabellen enthält. sp_fulltext_table 'table_name', 'drop' sollte ausgeführt werden, um Tabellen aus diesem Katalog zu löschen.

    Wenn der Katalog nicht vorhanden ist, wird ein Fehler gemeldet.

    start_incremental

    Startet ein inkrementelles Auffüllen für fulltext_catalog_name. Wenn der Katalog nicht vorhanden ist, wird ein Fehler gemeldet. Wenn bereits eine Auffüllaktion für den Volltextindex aktiv ist, wird eine Warnung angezeigt und keine weitere Auffüllaktion durchgeführt. Beim inkrementellen Auffüllen werden nur geänderte Zeilen für die Volltextindizierung abgerufen. Dies gilt jedoch nur dann, wenn eine timestamp-Spalte in der Tabelle vorhanden ist, für die die Volltextindizierung ausgeführt wird.

    start_full

    Startet ein vollständiges Auffüllen für fulltext_catalog_name. Alle Zeilen aller Tabellen, die diesem Volltextkatalog zugeordnet sind, werden für die Volltextindizierung abgerufen, auch wenn sie bereits indiziert wurden.

    Stop

    Beendet eine Indexauffüllung für fulltext_catalog_name. Wenn der Katalog nicht vorhanden ist, wird ein Fehler gemeldet. Wenn das Auffüllen bereits beendet wurde, wird keine Warnung angezeigt.

    Rebuild

    Erstellt fulltext_catalog_name neu, indem der vorhandene Volltextkatalog aus dem Dateisystem gelöscht wird, der Volltextkatalog neu erstellt wird und dieser anschließend zu allen Tabellen, in denen Referenzen für die Volltextindizierung vorhanden sind, neu zugeordnet wird.

    Bei der Neuerstellung werden keine Volltextmetadaten in den Systemtabellen der Datenbank geändert. Der neu erstellte Volltextkatalog wird auch nicht neu aufgefüllt. Um den Katalog erneut aufzufüllen, muss sp_fulltext_catalog mit der Aktion start_full oder start_incremental ausgeführt werden.

  • [ @path=] 'root_directory'
    Das Stammverzeichnis (nicht der vollständige physikalische Pfad) für die create-Aktion. root_directory ist vom Datentyp nvarchar(100) und hat den Standardwert NULL, der die Verwendung des bei der Installation angegebenen Standardpfades anzeigt. Dieser ist das Unterverzeichnis Ftdata im Verzeichnis Mssql, z. B. C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\FTData. Das angegebene Stammverzeichnis muss sich auf einem Laufwerk desselben Computers befinden, es darf nicht nur aus dem Laufwerkbuchstaben bestehen und darf kein relativer Pfad sein. Netzlaufwerke, austauschbare Laufwerke, Disketten und UNC-Pfade werden nicht unterstützt. Volltextkataloge müssen auf einer lokalen Festplatte des Computers erstellt werden, auf dem eine Instanz von SQL Server ausgeführt wird.

    @path ist nur gültig, wenn action den Wert create hat. Für andere Aktionen als create (stop, rebuild usw.) muss @path gleich NULL oder nicht angegeben sein.

    Falls es sich bei der Instanz von SQL Server um einen virtuellen Server in einem Cluster handelt, muss das Katalogverzeichnis auf einem freigegebenen Datenträgerlaufwerk angegeben sein, von dem die SQL Server-Ressource abhängt. Wird @path nicht angegeben, befindet sich der Pfad des Standardkatalogverzeichnisses auf dem freigegebenen Datenträgerlaufwerk in dem Verzeichnis, das bei der Installation des virtuellen Servers angegeben wurde.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Mit der start_full-Aktion wird ein vollständiger Snapshot der Volltextdaten in fulltext_catalog_name erstellt. Mit der start_incremental-Aktion werden nur die geänderten Zeilen der Datenbank neu indiziert. Inkrementelles Auffüllen kann nur angewendet werden, wenn die Tabelle eine Spalte vom Typ timestamp besitzt. Falls eine Tabelle im Volltextkatalog keine Spalte vom Typ timestamp besitzt, wird die Tabelle vollständig aufgefüllt.

Volltextkatalog- und Indexdaten werden in Dateien gespeichert, die in einem Volltextkatalogverzeichnis erstellt werden. Das Volltextkatalogverzeichnis wird als Unterverzeichnis des mit @path angegebenen Verzeichnisses angelegt oder, wenn @path nicht angegeben ist, im Standard-Volltextkatalogverzeichnis des Servers. Der Name des Volltextkatalogverzeichnisses wird so erstellt, dass er auf dem Server eindeutig ist. Deshalb können alle Volltextkatalogverzeichnisse auf einem Server denselben Pfad verwenden.

Berechtigungen

Der Aufrufer muss ein Mitglied der db_owner-Rolle sein. Abhängig von der angeforderten Aktion sollte der Aufrufer auch über die ALTER- oder CONTROL-Berechtigung im Volltextkatalog verfügen, der als Ziel angegeben ist. (Dies trifft auf Mitglieder von db_owner zu.)

Beispiele

A. Erstellen eines Volltextkatalogs

Im folgenden Beispiel wird der leere Cat_Desc-Volltextkatalog in der AdventureWorks-Datenbank erstellt.

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';
GO

B. Erneutes Erstellen eines Volltextkatalogs

Im folgenden Beispiel wird der vorhandene Cat_Desc-Volltextkatalog in der AdventureWorks-Datenbank neu erstellt.

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO

C. Starten des Auffüllens eines Volltextkatalogs

Im folgenden Beispiel wird das vollständige Auffüllen des Cat_Desc-Katalogs gestartet.

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO

D. Beenden des Auffüllens eines Volltextkatalogs

Im folgenden Beispiel wird das Auffüllen des Cat_Desc-Katalogs beendet.

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';
GO

E. Entfernen eines Volltextkatalogs

Im folgenden Beispiel wird der Cat_Desc-Katalog entfernt.

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';
GO

Siehe auch

Verweis

FULLTEXTCATALOGPROPERTY (Transact-SQL)
sp_fulltext_database (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)
sp_help_fulltext_catalogs_cursor (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Andere Ressourcen

Volltextsuche

Hilfe und Informationen

Informationsquellen für SQL Server 2005