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
SQL Server upgraduje fulltextové vyhledávání během instalace nebo při připojování, obnovení nebo kopírování databázových souborů a fulltextových katalogů z SQL Serveru 2005 (9.x) a starších verzí.
Proveďte upgrade instance serveru
U místního upgradu je instance SQL Serveru nastavená souběžně se starou verzí SQL Serveru a data se migrují. Pokud byla nainstalovaná stará verze SQL Serveru fulltextové vyhledávání, nainstaluje se automaticky nová verze fulltextového vyhledávání. Souběžná instalace znamená, že každá z následujících komponent existuje na úrovni instance SQL Serveru.
Děliče slov, stemmers a filtry
Každá instance teď používá vlastní sadu segmentátorů slov, stemmerů a filtrů místo toho, aby se spoléhala na verzi operačního systému těchto komponent. Tyto komponenty se také snadněji registrují a konfigurují na úrovni jednotlivých instancí. Pro více informací viz Konfigurace a správa oddělovačů slov a stemmerů a Konfigurace a správa filtrů.
Filtr hostitelského procesu
Hostitelé démonů plnotextového filtru jsou procesy, které bezpečně načítají a řídí rozšiřitelné externí komponenty používané pro indexaci a dotazování, jako jsou segmentátory slov, stemmery a filtry, aniž by došlo k narušení integrity modulu Full-Text. Instance serveru používá vícevláknový proces pro všechny vícevláknové filtry a proces s jedním vláknem pro všechny filtry s jedním vláknem.
Služba FDHOST Launcher (MSSQLFDLauncher) propaguje informace o účtu služby do procesů hostitele filtru daemon konkrétní instance Database Engine. Pro informace o nastavení servisního účtu viz Nastavit servisní účet pro plnotextový Filter Daemon Launcher.
Kompatibilita aktualizace SQL Serveru 2005
Fulltextový katalog je logický nebo virtuální objekt, který obsahuje skupinu fulltextových indexů. Nový fulltextový katalog proto není považován za databázový soubor s fyzickou cestou. Pokud však upgradujete ze SQL Server 2005 (9.x), na stejném disku se vytvoří nová skupina souborů pro jakýkoli plnotextový katalog, který obsahuje datové soubory.
Tento postup udržuje po upgradu původní chování vstupně-výstupních operací disku. Všechny fulltextové indexy z daného katalogu se umístí do nové skupiny souborů, pokud existuje kořenová cesta. Pokud je stará cesta k fulltextovému katalogu neplatná, upgrade zachová fulltextový index ve stejné skupině souborů jako základní tabulka nebo, v případě dělené tabulky, v primární skupině souborů.
Možnosti upgradu fulltextového vyhledávání
Když upgradujete instanci SQL Server, uživatelské rozhraní vám umožní vybrat jednu z následujících možností plnotextové aktualizace. Tyto možnosti jsou dostupné pouze pro databáze SQL Server 2005 (9.x).
Import
Importují se fulltextové katalogy. Import je obvykle výrazně rychlejší než opětovné sestavení. Například s jedním jádrem CPU běží import asi 10krát rychleji než rebuild. Importovaný fulltextový katalog ale nepoužívá nové nástroje pro dělení slov nainstalované s nejnovější verzí SQL Serveru. Aby se zajistilo konzistenci výsledků dotazů, musí být znovu sestaveny fulltextové katalogy.
Poznámka
Rebuild může běžet v multithreaded režimu, a pokud je k dispozici více než 10 jader CPU, rebuild může běžet rychleji než import, pokud povolíte rebuild používat všechna jádra.
Pokud není k dispozici fulltextový katalog, přidružené fulltextové indexy se znovu sestaví.
Informace o vlivu importu indexu plného textu najdete v části Úvahy o volbě možnosti upgradu plného textu později v tomto článku.
Rebuild
Fulltextové katalogy se znovu sestaví pomocí nástrojů pro dělení slov aktuální verze. Opětovné sestavení indexů může nějakou dobu trvat a po upgradu může být vyžadováno značné množství procesoru a paměti.
Resetování
Fulltextové katalogy se resetují. Při upgradu ze SQL Server 2005 (9.x) jsou soubory plnotextových katalogů odstraněny, ale metadata pro plnotextové katalogy a indexy s plným textem zůstanou zachována. Po upgradu jsou všechny fulltextové indexy zakázány pro sledování změn a prohledávání se nespustí automaticky. Katalog zůstane prázdný, dokud po dokončení upgradu ručně nevydáte úplnou populaci.
Úvahy o výběru možnosti upgradu fulltextového systému
Při výběru možnosti upgradu zvažte následující:
Vyžadujete konzistenci ve výsledcích dotazu?
Database Engine instaluje nové děliče slov pro fulltextové a sémantické vyhledávání. Rozkladače slov se používají jak při indexování, tak při dotazování. Pokud nepřebudujete fulltextové katalogy, můžou být výsledky hledání nekonzistentní. Pokud zadáte fulltextový dotaz, který hledá frázi, kterou word breaker v předchozí verzi Databázového stroje a aktuální word breaker rozdělují odlišně, dokument nebo řádek obsahující tuto frázi nemusí být vrácen. Důvodem je to, že indexované fráze byly přerušeny pomocí jiné logiky než dotaz používá. Řešením je znovu vyplnit (znovu sestavit) fulltextové katalogy s novými funkcemi pro dělení slov tak, aby čas indexu a čas dotazu byly stejné. Můžete si vybrat možnost Přestavit , abyste to provedli, nebo můžete ručně přestavět po výběru možnosti Import .
Byly nějaké fulltextové indexy založené na celočíselných sloupcích s fulltextovými klíči?
Opětovné sestavení provádí interní optimalizace, které mohou v některých případech zlepšit výkon dotazů u upgradovaného fulltextového indexu. Konkrétně pokud máte fulltextové katalogy, které obsahují fulltextové indexy, pro které je celotextový klíčový sloupec základní tabulky celočíselný datový typ, opětovné sestavení dosáhne ideálního výkonu fulltextových dotazů po upgradu. V tomto případě byste měli použít možnost Obnovit .
Poznámka
U indexů s plným textem by sloupec sloužící jako klíč pro celý text měl být celočíselný datový typ. Pro více informací viz Zlepšení výkonu indexů s plnými texty.
Jaká je priorita pro uvedení instance serveru online?
Import nebo opětovné sestavení během upgradu spotřebovává mnoho zdrojů CPU, což zpožďuje upgrade a spuštění zbytku instance serveru online. Pokud je důležité co nejdříve zprovoznit instanci serveru a pokud jste ochotni po upgradu provést ruční naplnění, resetovat je vhodné.
Zajištění konzistentních výsledků dotazu po importu fulltextového indexu
Pokud je při aktualizaci databáze SQL Server 2005 (9.x) importován katalog plného textu, mohou nastat neshody mezi dotazem a obsahem plnotextového indexu kvůli rozdílům v chování starých a nových word breakerů. Pokud chcete v tomto případě zaručit celkovou shodu mezi dotazy a obsahem fulltextového indexu, zvolte jednu z následujících možností:
Znovu vytvořte fulltextový katalog, který obsahuje fulltextový index s ALTER FULLTEXT CATALOG:
ALTER FULLTEXT CATALOG <catalog_name> REBUILD;Spusťte
FULL POPULATIONnad fulltextovým indexem s ALTER FULLTEXT INDEX:ALTER FULLTEXT INDEX ON <table_name> START FULL POPULATION;
Pro více informací o word breakerech viz Konfigurace a správa word breakerů a stemmerů.
Vylepšení souborů šumových slov na seznamy stopslov
Když je databáze aktualizována z SQL Serveru 2005 (9.x), soubory s bezvýznamnými slovy se už nepoužívají. Staré šumové soubory jsou však uloženy ve složce FTDATA\FTNoiseThesaurusBak a můžete je později použít při aktualizaci nebo sestavování odpovídajících seznamů stop SQL Serveru.
Po upgradu z SQL Serveru 2005 (9.x):
Pokud jste do instalace SQL Serveru 2005 (9.x) nikdy nepřidali, neupravili ani neodstranili žádná bezvýznamová slova, měl by systémový stoplist vyhovovat vašim potřebám.
Pokud byly vaše soubory se šumovými slovy změněny v SQL Serveru 2005 (9.x), tyto úpravy se při upgradu ztratí. Chcete-li tyto aktualizace znovu vytvořit, musíte tyto změny ručně znovu vytvořit v příslušném seznamu stop. Další informace najdete na webu ALTER FULLTEXT STOPLIST.
Pokud nechcete používat žádná stop slova pro fulltextové indexy (například pokud jste odstranili nebo smazali soubory se stop slovy ve vaší instalaci SQL Serveru 2005 (9.x)), musíte vypnout seznam stopwords pro každý upgradovaný fulltextový index. Spusťte následující příkaz Transact-SQL (nahrazení databáze názvem upgradované databáze a tabulky názvem tabulky):
USE [database]; GO ALTER FULLTEXT INDEX ON [table] SET STOPLIST OFF; GODoložka
STOPLIST OFFodstraní filtrování stop slov a spustí naplnění tabulky bez filtrování slov považovaných za šumová.
Zálohování a import fulltextových katalogů
U katalogů s plným textem, které jsou při upgradu přestavěny nebo resetovány (a u nových katalogů s plným textem), je katalog s plným textem logický koncept a nenachází se ve skupině souborů. Proto pokud chcete zálohovat fulltextový katalog, musíte identifikovat každou skupinu souborů, která obsahuje fulltextový index katalogu, a každý z nich zálohovat, jeden po druhém. Další informace najdete v tématu Zálohování a obnovení fulltextových katalogů a indexů.
Pro fulltextové katalogy, které byly importovány z SQL Serveru 2005 (9.x), je fulltextový katalog stále soubor databáze ve vlastní skupině souborů. Proces zálohování SQL Serveru 2005 (9.x) pro fulltextové katalogy stále platí s tím rozdílem, že služba MSFTESQL na SQL Serveru neexistuje. Informace o procesu SQL Server 2005 (9.x) naleznete v tématu Zálohování a obnovení katalogů Full-Text v aplikaci SQL Server 2005 Books Online.
Migrace fulltextových indexů při upgradu databáze
Databázové soubory a fulltextové katalogy z předchozí verze SQL Serveru je možné upgradovat na existující instanci pomocí připojení, obnovení nebo průvodce Kopírování databáze. Fulltextové indexy SQL Serveru 2005 (9.x), pokud existují, se buď importují, resetují nebo znovu sestavují. Vlastnost upgrade_option serveru určuje, kterou možnost fulltextového upgradu instance serveru používá během těchto upgradů databáze.
Po připojení, obnovení nebo zkopírování jakékoli databáze SQL Server 2005 (9.x) do novější instance se databáze okamžitě stane dostupnou a automaticky se aktualizuje. V závislosti na množství indexovaných dat může import trvat několik hodin a opětovné sestavení může trvat až 10krát déle. Pokud je možnost upgradu nastavená na import a není k dispozici fulltextový katalog, přidružené fulltextové indexy se znovu sestaví.
Změna chování při upgradu fulltextu na instanci serveru
Transact-SQL: Použijte
upgrade_optionakci sp_fulltext_serviceSQL Server Management Studio: Použijte možnost Full-Text Aktualizace v dialogovém okně Vlastnosti serveru. Další informace naleznete v tématu Správa a monitorování Full-Text Hledání instance serveru.
Úvahy o obnovení fulltextového katalogu SQL Server 2005 (9.x)
Jednou z metod aktualizace plnotextových dat z databáze SQL Server 2005 (9.x) je obnovení kompletní databázové zálohy do novější instance SQL Server.
Při importu fulltextového katalogu SYSTÉMU SQL Server 2005 (9.x) můžete zálohovat a obnovit databázi a soubor katalogu. Chování je stejné jako v SQL Serveru 2005 (9.x):
Úplné zálohování databáze zahrnuje fulltextový katalog. Chcete-li odkazovat na fulltextový katalog, použijte jeho název souboru v SQL Serveru 2005 (9.x), sysft_+název-katalogu.
Pokud je fulltextový katalog offline, zálohování selže.
Další informace o zálohování a obnovování fulltextových katalogů systému SQL Server 2005 (9.x) naleznete v tématech Zálohování a obnova fulltextových katalogů a indexů a Zálohování a obnovení souborů a fulltextových katalogů v knihách online pro SQL Server 2005 (9.x).
Když se databáze obnoví v novější instanci SQL Serveru, vytvoří se nový soubor databáze pro fulltextový katalog. Výchozí název tohoto souboru je ftrow_název katalogu.ndf. Například pokud je název vašeho katalogu , cat1výchozí název databázového souboru SQL Server by byl ftrow_cat1.ndf. Pokud je však výchozí název již používán v cílovém adresáři, nový databázový soubor by se ftrow_ jmenovalGUID{katalogového jména}.ndf, kde GUID je globálně jedinečný identifikátor nového souboru.
Po importu katalogů sys.database_files se položky katalogu odeberou, a sloupec sys.master_files v path se nastaví na hodnotu sys.fulltext_catalogs.
Zálohování databáze
- Kompletní zálohy databáze
- Zálohy transakčních logů (pouze kompletní obnovovací model)
Obnovení zálohy databáze
- dokončení obnovení databáze (jednoduchý model obnovení)
- dokončení obnovení databáze (úplný model obnovení)
Příklad
Následující příklad využívá klauzuli MOVE ve příkazu RESTORE k obnovení databáze SQL Server 2005 (9.x) s názvem ftdb1. Databáze, protokol a soubory katalogu SQL Serveru 2005 (9.x) se přesunou do nových umístění v instanci serveru SQL Serveru následujícím způsobem:
Soubor databáze,
ftdb1.mdf, se přesune doC:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf.Soubor protokolu
ftdb1_log.ldfse přesune do adresáře protokolu na diskové jednotce protokolu log_drive:\log_directory\ftdb1_log.ldf.Soubory katalogu, které odpovídají katalogu
sysft_cat90jsou přesunuty doC:\temp. Po importu plných textových indexů jsou automaticky uloženy do databázového souboruC:\ftrow_sysft_cat90.ndf, aC:\tempbudou smazány.
RESTORE DATABASE [ftdb1] FROM DISK = N'C:\temp\ftdb1.bak'
WITH FILE = 1,
MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',
MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',
MOVE N'sysft_cat90' TO N'C:\temp';
Připojení databáze SQL Serveru 2005
V SYSTÉMU SQL Server 2008 (10.0.x) a novějších verzích je fulltextový katalog logický koncept, který odkazuje na skupinu fulltextových indexů. Fulltextový katalog je virtuální objekt, který nepatří do žádné skupiny souborů. Pokud však připojíte databázi SYSTÉMU SQL Server 2005 (9.x), která obsahuje soubory fulltextového katalogu k novější instanci serveru SQL Server, soubory katalogu jsou připojeny z předchozího umístění spolu s ostatními soubory databáze, stejně jako v SYSTÉMU SQL Server 2005 (9.x).
Stav každého připojeného fulltextového katalogu na SQL Serveru je stejný jako při odpojení databáze z SQL Serveru 2005 (9.x). Pokud byla v rámci operace odpojení pozastavena nějaká populace fulltextového indexu, základní soubor se obnoví na SQL Serveru a fulltextový index se zpřístupní pro fulltextové vyhledávání.
Pokud SQL Server nemůže najít soubor fulltextového katalogu nebo pokud byl fulltextový soubor přesunut během operace připojení bez zadání nového umístění, chování závisí na vybrané možnosti upgradu fulltextu. Pokud je možnost upgradu fulltextu Import nebo Přestavba, připojený fulltextový katalog se znovu sestaví. Pokud je možnost aktualizace fulltextu Obnovit, příslušný fulltextový katalog se obnoví.
Pro více informací o odpojování a připojování databáze viz Databáze odpojovat a připojovat, CREATE DATABASE, sp_attach_db a sp_detach_db.