FULLTEXTCATALOGPROPERTY (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt Informationen zu Volltextkatalog-Eigenschaften in SQL Server zurück.

Transact-SQL-Syntaxkonventionen

Syntax

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

Hinweis

Die folgenden Eigenschaften werden in einem künftigen Release von SQL Server nicht mehr unterstützt: LogSize und PopulateStatus. Vermeiden Sie die Verwendung dieser Eigenschaften in Neuentwicklungen, und planen Sie die Änderung von Anwendungen, die diese Eigenschaften derzeit verwenden.

catalog_name
Ein Ausdruck, der den Namen des Volltextkatalogs enthält.

property
Ein Ausdruck, der den Namen der Volltext-Katalogeigenschaft enthält. In der folgenden Tabelle finden Sie eine Liste der Eigenschaften und eine Beschreibung der zurückgegebenen Informationen.

Eigenschaft BESCHREIBUNG
AccentSensitivity Einstellung für die Unterscheidung nach Akzent.

0 = Keine Unterscheidung nach Akzent

1 = Unterscheidung nach Akzent
IndexSize Logische Größe des Volltextkatalogs in Megabyte (MB). Enthält die Größe des semantischen Schlüsselausdrucks und von Dokumentähnlichkeitsindizes.

Weitere Informationen finden Sie unter "Hinweise" weiter unten in diesem Thema.
ItemCount Anzahl der indizierten Elemente einschließlich aller Volltext-, Schlüsselausdrucks- und Dokumentähnlichkeitsindizes in einem Katalog.
LogSize Wird nur aus Gründen der Abwärtskompatibilität unterstützt. Es wird immer 0 zurückgegeben.

Größe (in Bytes) der kombinierten Gruppe von Fehlerprotokollen, die mit einem Volltextkatalog des Microsoft Search-Diensts verbunden sind.
MergeStatus Gibt an, ob eine Masterzusammenführung ausgeführt wird.

0 = Masterzusammenführung wird nicht ausgeführt

1 = Masterzusammenführung wird ausgeführt
PopulateCompletionAge Anzahl von Sekunden, die zwischen dem 01.01.1990, 00:00:00 Uhr, und der Beendigung des letzten Auffüllens des Volltextindex verstrichen sind.

Wird nur für vollständige und inkrementelle Durchforstungsvorgänge aktualisiert. Gibt 0 zurück, wenn keine Auffüllung aufgetreten ist.
PopulateStatus 0 = Im Leerlauf

1 = Vollständiges Auffüllen wird ausgeführt

2 = Angehalten

3 = Gedrosselt

4 = Wird wiederhergestellt

5 = Herunterfahren

6 = Inkrementelles Auffüllen wird ausgeführt

7 = Index wird erstellt

8 = Der Datenträger ist voll. Angehalten.

9 = Änderungsprotokollierung
UniqueKeyCount Anzahl der eindeutigen Schlüssel im Volltextkatalog.
ImportStatus Gibt an, ob der Volltextkatalog importiert wird.

0 = Der Volltextkatalog wird nicht importiert.

1 = Der Volltextkatalog wird importiert.

Rückgabetypen

int

Ausnahmen

Gibt NULL zurück, wenn ein Fehler auftritt oder ein Aufrufer nicht über die Berechtigungen zum Anzeigen des Objekts verfügt.

In SQL Server kann ein Benutzer nur die Metadaten von sicherungsfähigen Elementen anzeigen. Diese sicherungsfähigen Elemente sind solche Elemente, die der Benutzer besitzt oder für die ihm Berechtigungen erteilt wurden. Daher können integrierte Funktionen, die Metadaten ausgeben (z.B. FULLTEXTCATALOGPROPERTY) NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter sp_help_fulltext_catalogs (Transact-SQL).

Hinweise

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') prüft wie in sys.fulltext_index_fragments dargestellt nur Fragmente mit dem Status 4 oder 6. Diese Fragmente sind ein Teil des logischen Index. Daher gibt die IndexSize-Eigenschaft nur die logische Indexgröße zurück.

Während eines Indexmerge könnte die tatsächliche Indexgröße jedoch doppelt so groß sein wie die logische Größe. Um die tatsächliche Größe zu ermitteln, die von einem Volltextindex während eines Merge beansprucht wird, verwenden Sie die gespeicherte Systemprozedur sp_spaceused. Diese Prozedur prüft alle Fragmente, die einem Volltextindex zugeordnet sind.

Die Volltextauffüllung schlägt möglicherweise fehl, wenn Sie das Wachstum der Volltextkatalogdatei einschränken und nicht genügend Speicherplatz für den Mergeprozess zulassen. In diesem Fall gibt FULLTEXTCATALOGPROPERTY ('catalog_name', 'IndexSize') 0 zurück, und der folgende Fehler wird in das Volltextprotokoll geschrieben:

Error: 30059, Severity: 16, State: 1. A fatal error occurred during a full-text population and caused the population to be cancelled. Population type is: FULL; database name is FTS_Test (id: 13); catalog name is t1_cat (id: 5); table name t1 (id: 2105058535). Fix the errors that are logged in the full-text crawl log. Then, resume the population. The basic Transact-SQL syntax for this is: ALTER FULLTEXT INDEX ON table_name RESUME POPULATION.

Es ist wichtig, dass Anwendungen nicht in einer Schleife warten und die PopulateStatus-Eigenschaft auf Leerlauf überprüfen. Leerlauf bedeutet hier, dass das Auffüllen beendet wurde. Dadurch werden CPU-Zyklen von der Datenbank und von Volltextsuchprozessen abgezogen und Timeoutfehler verursacht. Es ist in der Regel besser, die entsprechende PopulateStatus-Eigenschaft auf Tabellenebene und TableFullTextPopulateStatus in der OBJECTPROPERTYEX-Systemfunktion zu überprüfen. Diese und andere neue Volltexteigenschaften in OBJECTPROPERTYEX stellen Informationen mit höherer Granularität zur Volltextindizierung von Tabellen bereit. Weitere Informationen finden Sie unter OBJECTPROPERTYEX (Transact-SQL).

Beispiele

Im folgenden Beispiel wird die Anzahl der volltextindizierten Elemente in einem Volltextkatalog mit dem Namen Cat_Desc zurückgegeben.

USE AdventureWorks2022;  
GO  
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');  
GO  

Siehe auch

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Metadatenfunktionen (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)