Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Vytváří a ukládá katalog s plným textem a zahajuje a zastavuje akci indexování pro katalog. Pro každou databázi lze vytvořit více katalogů s plným textem.
Důležité
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Použijte místo toho CREATE FULLTEXT CATALOG, ALTER FULLTEXT CATALOG a DROP FULLTEXT CATALOG .
Syntaxe
sp_fulltext_catalog
[ @ftcat = ] N'ftcat'
, [ @action = ] 'action'
[ , [ @path = ] N'path' ]
[ ; ]
Arguments
[ @ftcat = ] N'ftcat'
Název katalogu s plným textem. Názvy katalogů musí být jedinečné pro každou databázi. @ftcat je sysname, bez výchozího nastavení.
[ @action = ] 'akce'
Akce, která se má provést. @action je varchar(20) a může být jednou z těchto hodnot.
Poznámka:
Katalogy s plným textem lze vytvářet, vynechávat a upravovat podle potřeby. Nicméně se vyhněte současným změnám schémat na více katalozích. Tyto akce lze provádět pomocí uložené procedury sp_fulltext_table , což je doporučený způsob.
| Hodnota | Description |
|---|---|
| create | Vytváří prázdný, nový katalog s plným textem v souborovém systému a přidává příslušný řádek sysfulltextcatalogs s hodnotami @ftcat a @path, pokud existují.
@ftcat musí být v databázi jedinečná. |
| přetáhnout | Odstraní @ftcat odstraněním ze souborového systému a smazáním příslušného řádku v sysfulltextcatalogs. Tato akce selže, pokud tento katalog obsahuje indexy pro jednu nebo více tabulek.
sp_fulltext_table '<table_name>', 'drop' by mělo být vykonáno tak, aby tabulky byly odstraněny z katalogu.Chyba se zobrazí, pokud katalog neexistuje. |
| start_incremental | Začíná to postupnou populaci pro @ftcat. Chyba se zobrazí, pokud katalog neexistuje. Pokud je populace s plným textem indexu již aktivní, zobrazí se varování, ale žádná populační akce nenastane. Při inkrementální populaci se pro indexování plného textu se získávají pouze změněné řádky, pokud je v tabulce indexované s plným textem přítomen sloupec s časovým razítkem . |
| start_full | Začíná plná populace pro @ftcat. Každý řádek každé tabulky spojené s tímto fulltextovým katalogem je získán pro indexaci v plném textu, i když již byly indexovány. |
| Stop | Zastaví indexovou populaci pro @ftcat. Chyba se zobrazí, pokud katalog neexistuje. Pokud je populace již zastavena, žádné varování se nezobrazí. |
| přestavět | Přestavuje @ftcat. Když je katalog znovu sestaven, stávající katalog je smazán a na jeho místo je vytvořen nový. Všechny tabulky, které obsahují odkazy na indexování v plném textu, jsou spojeny s novým katalogem. Přestavba resetuje metadata plného textu v tabulkách databázového systému. Pokud je sledování změn VYPNUTO, přestavba nezpůsobí znovuzaplnění nově vytvořeného plnotextového katalogu. V tomto případě pro znovunaplnění proveďte sp_fulltext_catalog akci start_full nebo start_incremental . |
[ @path = ] N'path'
Kořenový adresář (nikoli kompletní fyzická cesta) pro akci vytvoření .
@path je nvarchar(100), s výchozím , NULLcož označuje použití výchozí polohy specifikované při nastavení.
Toto je podadresář FTData v adresáři MSSQL ; například C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\FTData. Specifikovaný kořenový adresář musí být umístěn na disku na stejném počítači, obsahovat více než jen písmeno disku a nesmí být relativní cestou. Síťové mechaniky, vyměnitelné mechaniky, diskety a cesty UNC nejsou podporovány. Plnotextové katalogy musí být vytvořeny na lokálním pevném disku spojeném s instancí SQL Serveru.
@path je platná pouze tehdy, když je @actionvytvořen. Pro akce jiné než vytvořit (zastavit, znovu postavit a podobně) musí @path být nebo NULL vynechán.
Pokud je instance SQL Serveru virtuální server v clusteru, musí být katalogový adresář uvedený na sdíleném disku, na kterém závisí zdroj SQL Serveru. Pokud @path není specifikováno, umístění výchozího katalogu je na sdíleném disku, v adresáři, který byl určen při instalaci virtuálního serveru.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
Akce start_full se používá k vytvoření kompletního snímku plných textových dat v @ftcat. Akce start_incremental se používá k opětovnému indexování pouze změněných řádků v databázi. Inkrementální populace může být použita pouze tehdy, pokud má tabulka sloupec s časovým razítkem typu. Pokud tabulka v katalogu s plným textem neobsahuje sloupec časového razítka, tabulka prochází plnou populací.
Plnotextová katalogová a indexová data jsou uložena v souborech vytvořených v katalogovém adresáři s plným textem. Katalogový adresář s plným textem se vytváří jako podadresář adresáře specifikovaného v @path nebo ve výchozím adresáři katalogu s plným textem serveru, pokud @path není specifikován. Název katalogu s plným textem je vytvořen tak, aby zaručil jeho jedinečnost na serveru. Proto všechny katalogové adresáře s plným textem na serveru mohou sdílet stejnou cestu.
Povolení
Volající musí být členem db_owner role. V závislosti na požadované akci by volajícímu neměla být odepřena oprávnění ALTER nebo CONTROL (která db_owner má) v cílovém katalogu s plným textem.
Examples
A. Vytvořte katalog s plným textem
Tento příklad vytváří prázdný katalog s plným textem, Cat_Desc, v databázi AdventureWorks2025 .
USE AdventureWorks2022;
GO
EXECUTE sp_fulltext_catalog 'Cat_Desc', 'create';
GO
B. Přetvořit katalog s plným textem
Tento příklad znovu vytváří existující katalog plných textů v databáziCat_Desc. AdventureWorks2025
USE AdventureWorks2022;
GO
EXECUTE sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO
C. Začněte populaci plnotextového katalogu
Tento příklad začíná plnou populaci katalogu Cat_Desc .
USE AdventureWorks2022;
GO
EXECUTE sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO
D. Zastavte populaci plnotextového katalogu
Tento příklad zastavuje populaci katalogu Cat_Desc .
USE AdventureWorks2022;
GO
EXECUTE sp_fulltext_catalog 'Cat_Desc', 'stop';
GO
E. Odstraňte katalog s plným textem
Tento příklad katalog odstraní Cat_Desc .
USE AdventureWorks2022;
GO
EXECUTE sp_fulltext_catalog 'Cat_Desc', 'drop';
GO