Udostępnij za pomocą


FULLTEXTCATALOGPROPERTY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Zwraca informacje o właściwościach katalogu pełnego tekstu w SQL Server.

Transact-SQL konwencje składni

Składnia

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Arguments

Uwaga / Notatka

Następujące właściwości zostaną usunięte w przyszłej wersji SQL Server: LogSize oraz PopulateStatus. Unikaj używania tych właściwości w nowych projektach deweloperskich i planuj modyfikację aplikacji, które obecnie z nich korzystają.

catalog_name
To wyrażenie zawierające nazwę katalogu pełnego tekstu.

właściwość
To wyrażenie zawierające nazwę pełnotekstowej właściwości katalogowej. Tabela zawiera listę właściwości i opisuje zwrócone informacje.

Majątek Description
AccentSensitivity Ustawienie wrażliwości na akcent.

0 = Niewrażliwość na akcent

1 = Wrażliwy na akcent
IndexSize Logiczny rozmiar katalogu pełnego tekstu w megabajtach (MB). Zawiera rozmiar semantycznych kluczowych fraz i indeksów podobieństwa dokumentów.

Więcej informacji można znaleźć w sekcji "Uwagi w dalszej części tego tematu".
ItemCount Liczba indeksowanych pozycji, w tym wszystkie pełne teksty, frazy kluczowe i indeksy podobieństw dokumentów w katalogu
LogSize Obsługiwane tylko ze względu na kompatybilność wsteczną. Zawsze zwraca 0.

Rozmiar w bajtach zestawu dzienników błędów powiązanych z katalogiem pełnotekstowym Microsoft Search Service.
MergeStatus Wskazuje, czy trwa połączenie główne.

0 = master merge nie jest w toku

1 = Master merge jest w toku
PopulateCompletionAge Różnica w sekundach między ukończeniem ostatniej pełnej grupy indeksowej a 01/01/1990 00:00:00.

Aktualizowane tylko do pełnych i stopniowych crawlów. Zwraca 0, jeśli nie wystąpiła populacja.
PopulateStatus 0 = Bezczynność

1 = Pełna populacja w toku

2 = Zatrzymane

3 = Ograniczenie

4 = Odzyskiwanie

5 = Zamknięcie

6 = Stopniowa populacja w toku

7 = Indeks budynku

8 = Dysk jest pełny. Wstrzymana.

9 = Śledzenie zmian
UniqueKeyCount Liczba unikalnych kluczy w katalogu pełnym tekstem.
ImportStatus Wskazuje, czy katalog pełnotekstowy jest importowany.

0 = Katalog pełnego tekstu nie jest importowany.

1 = Katalog pełnotekstowy jest importowany.

Typy zwracane

int

Exceptions

Zwraca NULL w przypadku błędu lub jeśli wywołujący nie ma uprawnień do podglądania obiektu.

W SQL Server użytkownik może przeglądać jedynie metadane zabezpieczalnych urządzeń. Te zabezpieczenia to te, które użytkownik posiada lub do których otrzymał uprawnienia. W związku z tym wbudowane funkcje generujące metadane, takie jak FULLTEXTCATALOGPROPERTY, mogą zwracać NULL, jeśli użytkownik nie ma żadnych uprawnień do obiektu. Więcej informacji można znaleźć w sp_help_fulltext_catalogs (Transact-SQL).

Uwagi

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') patrzy tylko na fragmenty o statusie 4 lub 6, jak pokazano na sys.fulltext_index_fragments. Te fragmenty są częścią indeksu logicznego. W związku z tym własność IndexSize zwraca jedynie logiczny rozmiar indeksu.

Podczas scalania indeksów rzeczywisty rozmiar indeksu może jednak być dwukrotny względem logicznego rozmiaru. Aby znaleźć rzeczywisty rozmiar zużywany przez pełny tekst indeksu podczas scalania, użyj procedury sp_spaceused system stored procedure. Procedura ta analizuje wszystkie fragmenty powiązane z indeksem pełnym tekstem.

Pełna populacja tekstów może się nie zdać. Może się nie udać, jeśli ograniczysz wzrost pliku katalogu pełnego tekstu i nie zostawisz wystarczająco dużo miejsca na proces scalania. W tym przypadku FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') zwraca 0 i następujący błąd jest zapisywany do dziennika pełnego tekstu:

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.

Ważne jest, aby aplikacje nie czekały w ciasnej pętli, sprawdzając, czy właściwość PopulateStatus stanie się bezczynna. Stanie się bezczynnym oznacza, że populacja się zakończyła. Ta kontrola odbiera cykle procesora od bazy danych i procesów wyszukiwania pełnego tekstu, powodując przerwy czasowe. Zazwyczaj lepszym rozwiązaniem jest sprawdzenie odpowiadającej mu właściwości PopulateStatus na poziomie tabeli, TableFullTextPopulateStatus w funkcji systemowej OBJECTPROPERTYEX. Ta oraz inne nowe pełnotekstowe właściwości w OBJECTPROPERTYEX dostarczają bardziej szczegółowych informacji o tabelach indeksujących pełnotekstowe. Aby uzyskać więcej informacji, zobacz OBJECTPROPERTYEX (Transact-SQL).

Przykłady

Poniższy przykład zwraca liczbę pełnych tekstowych indeksowanych pozycji w katalogu pełnym tekstu o nazwie Cat_Desc.

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

Zobacz też

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Funkcje metadanych (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)