FULLTEXTCATALOGPROPERTY (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Gibt Informationen zu Volltextkatalog-Eigenschaften in SQL Server zurück.
Transact-SQL-Syntaxkonventionen
Syntax
FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')
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)