Ako presunúť, kopírovať a zálohovať celotextového katalóg priečinkov a súborov

Preklady článku Preklady článku
ID článku: 240867 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Celotextové katalógy a indexy nie sú uložené v SQL Databázy servera. Celotextové katalógy a indexy sú uložené v samostatných súborov že služba Microsoft Search spravuje. Celotextové katalógové súbory nie sú zhodnotených počas obnovy Microsoft SQL Server. Navyše nemôžete použiť príkazy obchodovať SQL zálohovanie a OBNOVOVANIE zálohovať a obnoviť celotextové katalógové súbory. Po operácií obnovy alebo obnovenia, musíte samostatne zosynchronizovať celotextového katalógy. Len Microsoft Windows NT Správca systému a služba Microsoft Search prístup full-text katalógové súbory.

Hoci nemôžete použiť databázam SQL Server zálohovať celotextové katalógy, môžete použiť výroby databáz s veľkých tabuliek, ktoré sú celotextové vyhľadávanie zapnuté. Ak tak urobíte, takže budete musieť pohybovať, zálohovať, alebo obnoviť tieto Fulltextové katalógy a ich výroby databáz. Dobu spracovania pre celotextového katalóg populácie alebo synchronizácia môže byť dlhšie ako typické údržbu okna. Tento článok popisuje rôzne metódy, môžete použiť presunúť alebo skopírovať katalógov bez začatia konania plne obyvateľstva. Táto metóda sa vyhýba významné prestoje.

Tento článok doklady niekoľko metód, ktoré môžete kopírovať, premiestniť, a zálohovať alebo obnoviť celotextové katalóg priečinky a súbory v určitých obmedzení:
  • Verzie SQL Server, ktorý používate sú rovnaké.
  • Celotextové katalóg priečinkov a súborov musí byť na miestne .
  • Celotextové katalóg priečinky a súbory si musia zachovať ich pôvodné názvy a obsah priečinka.
  • Full-text povolené identifikátor databázy a tabuľky identifikátor musí byť rovnaký na oboch serverov keď premiestňujete alebo kopírujete celotextového katalógy medzi servermi.
Upozornenie Tieto postupy nie sú podporované na inštancie programu SQL Server záložných klastrov.

Celotextové katalógy sa zachovajú ako kolekcia priečinky a súbory. Predvolené umiestnenia celotextového katalógy sú:

Microsoft SQL Server 7.0:
\Mssql7\FTDATA

Microsoft SQL Server 2000:
Predvolenú inštanciu: Program Files\Microsoft SQL Server\MSSQL\FTDATA
S názvom inštancie: Program Files\Microsoft SQL Server\MSSQL$ instancename\FTDATA

Každý celotextového katalógu a jeho príslušné súbory sú udržiavané pod priečinkom, ktorý používa nasledujúce pomenovanie dohovor kde DBID je spojená databázy identifikátor, a kde ftcatid je full-text Katalóg identifikátor:

"SQLxxxxx)DBID) yyyyy ()ftcatid)"

Každý ftcatid je jedinečný v pridružených databáza.

Dôležité upozornenie Tento oddiel, metóda alebo úloha obsahuje kroky, ktoré vám povedať, ako upraviť databázu registry. Ak databázu Registry upravíte nesprávne, môžu nastať vážne problémy. Preto dávajte pozor a postupujte presne podľa týchto krokov. Na dosiahnutie lepšej ochrany je vhodné pred úpravou databázu Registry zálohovať. To vám umožní obnoviť databázu Registry, ak sa vyskytnú problémy. Ďalšie informácie o zálohovaní a obnovení databázy Registry nájdete v nasledujúcom článku databázy Microsoft Knowledge Base:
322756 Zálohovanie a obnovovanie databázy Registry v systéme Windows

Ak chcete zálohovať celotextového katalóg na samostatnom počítači alebo klaster

  1. Zastavte službu Microsoft Search na samostatného počítač. Skupinový SQL Server configuration, ponechajte full-text Resource online. Po zastavíte službu Microsoft Search, nemôžete spustiť celotextové dotazy, ktoré používajú predikáty obsahuje alebo FREETEXT, alebo oceňuje skupinu riadkov funkcie CONTAINSTABLE alebo FREETEXTTABLE s databázou. Okrem toho celotextového hľadania dotazy nefungujú a dostanete nasledujúce chybové hlásenie:
    Server: Msg 7602, úroveň 16, Štát 1, riadok 2 The Full-Text služby (Microsoft Search) nie je k dispozícii. V Správca systému musí začať túto službu.
  2. Použiť záložnú kópiu súboru systému Microsoft Windows NT pomôcka, napríklad ako Backup Exec, a potom späť hore celotextového katalógy, priečinky a súbory.V systém tabuľky pre celotextového katalógy (sysfulltextcatalogs) je zálohovaný s databázou SQL Server.
  3. Zálohovať nasledovné položky databázy registry, ak musíte zálohovať katalógy jednotlivo:
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] je názov priečinka katalóg "SQLxxxxx)DBID) yyyyy ()ftcatid)"
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.
  4. 2. Zálohovať nasledovné položky databázy registry zálohovať všetky katalógy: (to zálohuje všetky celotextového katalógov na serveri.)
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering... \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.

Ak chcete obnoviť celotextového katalógy na rovnakom serveri rovnakej lokálnej jednotky alebo cestu

  1. Zastavte službu Microsoft Search. Poznámka: Krok 2 vykonajte, len vtedy, ak bol vypustený v databáze. V opačnom prípade prejdite na v kroku 3.
  2. Obnovenie alebo priložiť databázy, kde ste povolili full-text. Po obnovení databázy, uistite sa, že databáza ID (dbid) je rovnaké ako to bolo, keď ste zálohovali to.
    Poznámka: Ak databáza bola pripojená pomocou sp_attach_dbpríkaz, uistite sa, že spustiť Exec sp_fulltext_database "povoliť" príkaz umožniť databázu pre full-text.
  3. Ak chcete určiť dbid, spustite nasledujúci kód:
    Use dbname
    go
    select db_id()
    Poznámka: Ak chcete obnoviť jednotlivé katalógy, postupujte podľa kroku 4. Na obnovenie všetkých katalógy, prejdite na krok 5.
  4. Obnovenie položky databázy registry, ktoré ste zálohovali založené na staršie záložné pokyny. Možno budete chcieť zálohovať register pred môžete skúsiť tento krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] je názov priečinka katalóg "SQLxxxxx)DBID) yyyyy ()ftcatid)"
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.
  5. Na obnovenie všetkých katalógov na serveri, obnoviť nasledovné položky databázy registry. Možno budete chcieť zálohovať register pred vami skúste tento krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering... \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.
  6. Obnoviť katalógov zo zálohy do predvoleného umiestnenia že ste zálohovali ju z.
  7. Reštartujte službu Microsoft Search.
  8. Potvrdiť, že nové full-text katalogizuje priečinkov a súborov sú funkčné pomocou Transact-SQL vyberte vyhlásenie a použitie obsahuje alebo FREETEXT predikát v klauzule WHERE.

Premiestniť alebo skopírovať celotextového katalógy medzi lokálne jednotky alebo cesty na tom istom počítači, ktorý je spustený server SQL Server

  1. Potvrdiť názov celotextového katalógu a miestnej jednotky alebo cesty pomocou sp_help_fulltext_catalogs "FT_Catalog_Name". Záznam full-text Katalóg písmeno jednotky a plne kvalifikovaní cesta k neskôr použiť.
  2. Zastavte službu Microsoft Search. Vykonať krok 3 a 4 len vtedy, ak bol vypustený v databáze, alebo ak bol odstránený katalóg, v opačnom prípade prejdite na krok 5.
  3. Obnovenie alebo priložiť databázy, kde ste povolili full-text. Po obnovení databázy, uistite sa, že databáza ID (dbid) je rovnaké ako to bolo, keď ste zálohovali to.

    Poznámka: Ak databáza bola pripojená pomocou sp_attach_dbpríkaz, uistite sa, že spustiť Exec sp_fulltext_database "povoliť" príkaz umožniť databázu pre full-text.

    Ak chcete určiť dbid, spustenie nasledujúci kód:
    Use dbname
    go
    select db_id()
  4. Obnoviť nasledovné položky databázy registry. Možno budete chcieť pred ste skúsiť tento krok zálohovať databázy registry.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] je názov priečinka katalóg "SQLxxxxx)DBID) yyyyy ()ftcatid)"
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.
  5. Stanovte nový katalóg celotextového lokálnu jednotku alebo cestu. Celotextové katalógy skopírovať do nového umiestnenia.
  6. Povoliť systému tabuľky aktualizácie pomocou systému uložené postup sp_configure PREKONFIGUROVAŤ s predvoľbou a potom aktualizujte [database_name]. dbo.sysfulltextcatalogs v stĺpci cesta na nové miestne jednotky alebo cesty určenia pre celotextové katalóg predvolený priečinok, napríklad d:\FTData.
  7. Použitie systému Windows NT 4.0 Resource Kit regfind pomôcka na vyhľadanie a nahradenie nasledujúci kľúč databázy registry HKLM hodnoty pre každý celotextového katalóg (napríklad priečinok (FT_Catalog_Folder) SQL0000500005):
    \SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder] \SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    Napokon skontrolujte, či použiť rovno citát značky ("") uzavrite do kľúče databázy registry pre obe -p a -r parametre. Napríklad:
    -m \\server_2 -p "<Key Name>" <Old_FT_Catalog_Path_and_Folder> -r <New_FT_Catalog_Path_and_Folder>

    Poznámka: Vymeňte <key name="">, <old_ft_catalog_path_and_folder>, a <new_ft_catalog_path_and_folder>s zodpovedajúce hodnoty.<b00></b00></new_ft_catalog_path_and_folder></old_ft_catalog_path_and_folder></key>
    Pre Príklad: -m \\server_2 -p "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\sqlserver$SQL2k\SQL0000500005" d:\programme\Microsoft SQL Server\MSSQL$ SQL2K\FTDATA\SQL0000500005 - r d:\programme\Microsoft SQL Server\MSSQL$ SQL2K\FTDATA\New Location\SQL0000500005

    Ďalšie informácie o syntax pre použitie regfind Utility, zadajte nasledujúce parameter z DOS príkazového riadka:regfind /?
  8. Reštartujte službu Microsoft Search.
  9. Potvrdiť, že nové full-text katalogizuje priečinkov a súborov sú funkčné pomocou Transact-SQL vyberte vyhlásenie a použitie obsahuje alebo FREETEXT predikát v klauzule WHERE.

Ak chcete kopírovať celotextového katalógy medzi inštancie programu SQL Server na rovnakej lokálnej jednotky alebo cestu

Nasledujúce kroky ukazujú, ako presunúť alebo skopírovať full-text Katalóg priečinok a súbory z jedného počítača, ktorý je spustený server SQL Server (server_1) na iný počítač, ktorý je spustený server SQL Server (server_2). Toto Článok predpokladá, že SQL Server má celotextového hľadania nainštalovaný a že na oboch serverov neexistuje rovnaké identifikátory databázy a tabuľky. Pre úspešné kópia celotextového katalógy od jednu inštanciu programu SQL Server do druhého, databáza identifikátory musia byť rovnaké. Preto je najlepšie mať server_2 (na ktoré kopírujete katalóg) byť presné repliky (klon) server_1.Confirm, že dbids na server_1 a server_2 sú rovnaké. Vykonaná akcia na oboch serverov sa tak urobiť, spustite nasledovné príkazy:
Use dbname
go
select db_id()
"Swap" dbids získať správny dbid na server_2, použite sp_detach_db a sp_attach_db odpojiť a re-attach správne databáz. Napríklad, ak máte dve databázy, ako napríklad TestDB (dbid = 7) a PerfDB (dbid = 8), odpojiť oboch databáz a potom prvý re-attach PerfDB databázu, a potom TestDB databáza. Toto swapy dbids: dbid pre TestDB stáva 8 a dbid pre PerfDB stáva 7. Najnižšia dbid v bazéne dostupných dbids je vždy použije ako prvý.

Upozornenie Na to, pred odpojiť databáz, uistite sa, že obe databáz nie mať akýkoľvek celotextového katalógy a že nie sú full-text povolené. Pozri "Clean-up postupy" v časti "Ďalšie informácie" kroky pre kvapka celotextové katalógy a vypnúť celotextového pre databázu.
  1. Potvrdiť, že Master.dbo.sysdatabases DBID hodnoty pre full-text povolené databázy sú rovnaké na oboch serverov.
  2. Potvrdiť, že [database_name]. dbo.sysobjects Identifikácia hodnoty pre full-text povolené tabuľky sú rovnaké na oboch servery. Ďalšie informácie o možnostiach získania hodnota identifikácie tabuľke nájdete "object_id" tému v SQL Server Books.
  3. Potvrdiť, že full-text katalóg meno a miestnej jednotky alebo cesty sú rovnaké na oboch serveroch pomocou sp_help_fulltext_catalogs'FT_Catalog_Name'.
  4. Zastavte službu Microsoft Search na oboch server_1 a server_2.
  5. Priradiť písmeno jednotky na server_1 na zodpovedajúce jednotku alebo cesta na server_2.
  6. Skopírovanie priečinka celotextového katalóg a súbory, ktoré ste identifikované v kroku 3 z server_1 na server_2 pomocou príkazu DOS xcopy. Používať plne kvalifikovaní celotextového katalóg jednotky alebo cesty a názov priečinka ako zdrojového umiestnenia a priradených celotextového katalóg jednotku alebo cesta a názov priečinka ako cieľové umiestnenie. Ak miesto určenia priečinky na server_2, použitie neexistuje xcopy Prepínače /I a /E Ak chcete vytvoriť všetky určenia priečinky. Ak chcete obnoviť všetky katalógy, kopírovanie všetky katalóg priečinkov na server_2.
  7. Môžete použiť príkaz DOS RMDIR /S /Q [FT_Catalog_drive/cesta] na server_1 odstrániť celotextového katalógové súbory na server_1.

    Poznámka: Chcete obnoviť jednotlivé katalógy, postupujte podľa kroku 8. Na obnovenie všetkých katalógy, prejdite na krok 9.
  8. Obnovenie položky databázy registry, ktoré ste zálohovali založené na predchádzajúce pokyny. Možno budete chcieť zálohovať register pred ste skúsiť toto krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer [FT_Catalog_Folder]
    [FT_Catalog_Folder] je názov priečinka katalóg "SQLxxxxx)DBID) yyyyy ()ftcatid)"
    Pre pomenovanú inštanciu servera SQL Server, položka databázy registry je \SQLServer$InstanceName\.
  9. Na obnovenie všetkých katalógov na serveri, obnoviť nasledovné položky databázy registry. Avšak, ak tak urobíte, stratíte všetky existujúce katalógy na server_2 po vykonaní tohto kroku. Možno budete chcieť zálohovať vaše databáza Registry ešte pred pokusom tento krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering... \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Poznámka: Podľa predvoleného nastavenia umiestnenia celotextového binárne súbory sú:
    Server SQL Server 7.0: \Mssql7\FTDATA
    Microsoft. SQL Server 2000 predvolenú inštanciu: \Program Files\Microsoft SQL Server\MSSQL\FTDATA
    SQL Server 2000 s názvom inštancie: MSSQL$InstanceName\FTDATA
    Tieto miestach a cesty k priečinku sa môžu líšiť na rôznych počítačoch. V tomto prípade vám dve položky databázy registry sa musí zmeniť, takže cesty ukážte na správne umiestnenie celotextové binárne súbory po dokončení obnovenia na server_2.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Môžete použiť regfind pomôcka na vyhľadanie položky databázy registry a zmeniť umiestnenie celotextové binárne súbory.
  10. Reštartujte službu Microsoft Search na oboch servery.
  11. Potvrdiť, že nové full-text katalogizuje priečinkov a súborov sú funkčné pomocou Transact-SQL vyberte vyhlásenie a použitie obsahuje alebo FREETEXT predikát v klauzule WHERE.

DALSIE INFORMACIE

Nasledovný server SQL Server skript preukáže ako presunúť alebo "migrovať" celotextového katalóg priečinok z SQL Server 7.0 (server_1) do iného počítač so systémom SQL Server 7.0 (server_2) do inej miestnej jednotky alebo cestu miesto na server_2. Tento článok predpokladá, že SQL Server 7.0 s celotextové vyhľadávanie je nainštalovaný na počítač so systémom Windows NT 4.0, a že na oboch serverov neexistuje rovnaké identifikátory databázy a tabuľky.

Pre účely tejto ilustrácie Krčmy (dbid = 5) databázy a tabuľky pub_info (id = 645577338) sú full-text povolené a osídlených na oboch servery. Server_2 nahraďte názov servera a nahradiť full-text názov priečinka katalóg a jednotky alebo cesty s názov priečinka celotextového katalóg a jednotky alebo cesty.

Musíte sa prihlásiť ako člen server miestnej Správcovia skupiny a byť členom služby SQL Server sysadmin server úlohu (alebo prihlásiť sa ako "sa"). Okrem toho musí byť vlastník databázy (DBO) databázy na spustenie služby SQL Server skripty.

Spustiť nasledovný SQL Server skript na oboch serverov:
use pubs
go
sp_fulltext_service 'clean_up'
go
sp_fulltext_database 'enable'
go

-- Creates and activates the full-text catalog: PubInfo, if it does not exist.
-- Drops, re-creates and activates the full-text catalog: PubInfo, if it does
-- exist.
IF OBJECTPROPERTY ( object_id('pub_info'),
                    'TableHasActiveFulltextIndex') = 1
BEGIN
    print 'Table pub_info is Full-Text Enabled, dropping Full-Text Index
& Catalog...'
    EXEC sp_fulltext_table 'pub_info', 'drop'
    EXEC sp_fulltext_catalog 'PubInfo', 'drop'
    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,
Index & Activating...'
    EXEC sp_fulltext_catalog 'PubInfo', 'create'
    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'
    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'
    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'
    EXEC sp_fulltext_table 'pub_info', 'activate'
END
ELSE IF OBJECTPROPERTY ( object_id('pub_info'),'TableHasActiveFulltextIndex') = 0
BEGIN
    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,
Index & Activating...'
    EXEC sp_fulltext_catalog 'PubInfo', 'create'
    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'
    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'
    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'
    EXEC sp_fulltext_table 'pub_info', 'activate'
END
go -- Confirm Database ID, Object ID, FT Catalog ID and FT folder(default)
   -- location.
select dbid, name from master.dbo.sysdatabases where dbid = DB_ID('pubs')
-- dbid = 5
go
select id, name from pubs.dbo.sysobjects where id = object_id('pub_info') 
go
sp_help_fulltext_catalogs 'PubInfo' 
go
sp_help_fulltext_tables 'PubInfo', 'pub_info' 
go
sp_help_fulltext_columns 'pub_info' 
go
exec master..xp_cmdshell 'dir d:\MSSQL70\FTDATA'
go

--- After full-text is enabled and activated, start full crawl/population
BEGIN
SET NOCOUNT ON
EXEC sp_fulltext_catalog 'PubInfo', 'start_full'
--
--  Wait for crawl to complete
--  NOTE: Forlarger tables, increase the WAITFOR DELAY time appropriately
--
DECLARE @status int, @itemCount int, @keyCount int, @indexSize int
SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
WHILE (@status <> 0)
BEGIN
  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT
                           -- Populatestatus...
  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
END
WAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property
                         -- info (add more time for larger tables)...
SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')
SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')
SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')
PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount)
- 1) as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = '
+  CONVERT(varchar(10), @keyCount) + char(09)
SET NOCOUNT OFF
END
go

-- Confirm FT population, 1 row should be returned (pub_id = 0736). 
SELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')
go

-- Stop the Microsoft Search service on both servers
exec master..xp_cmdshell 'net stop "Microsoft Search"'
go
Spustite nasledujúci skript SQL Server na ZDROJOVOM serveri (server_1):
use pubs
go
-- Map a Drive letter to the destination server.
exec master..xp_cmdshell 'NET USE K: \\server_2\[drive]$'
go
-- Copy the destination server's FT catalog folder and files as a backup.
exec master..xp_cmdshell 'ROBOCOPY K:\MSSQL70\FTDATA\SQL0000500005
K:\MSSQL70\BACKUP\SQL0000500005 /E /NP'
go
-- Remove the destination server's full-text catalog folder and files.
exec master..xp_cmdshell 'RMDIR /S /Q K:\MSSQL70\FTDATA\SQL0000500005'
go
-- Copy the SOURCE full-text catalog folder and files to the destination server's
NEW full-text catalog location.
exec master..xp_cmdshell 'ROBOCOPY D:\MSSQL70\FTDATA\SQL0000500005
K:\FTData\SQL0000500005 /E /NP'
go
-- Restart the Microsoft Search service.
exec master..xp_cmdshell 'net start "Microsoft Search"'
go
-- Remove the mapped drive letter to the destination server, for example
-- K:\.
exec master..xp_cmdshell 'NET USE K: /delete'
go
Musíte spustiť nasledovný SQL skript miesto určenia Server (server_2):
use master
go
-- Enable system table updates.
sp_configure allow,1
go
reconfigure with override
go

use pubs
go
-- Record full-text catalog information (Note: path = NULL)
select * from sysfulltextcatalogs
go
-- Update the full-text catalog information with the new full-text catalog location
UPDATE sysfulltextcatalogs set path = 'E:\FTData'
   WHERE ftcatid = 5
go
-- Record full-text catalog info. (Note: path = E:\FTData)
select * from sysfulltextcatalogs
go

use master
go
-- Disable system table updates.
sp_configure allow,0
go
reconfigure with override
go

-- CAUTION: Back up your registry hive before you contine!

-- Search and replace HKLM "Gather" registry keys with new full-text catalog
-- folder location [10 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\SQL0000500005
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go
-- Search and replace HKLM "Gatherer Manager" registry keys with new FT
-- catalog folder location [6 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Gathering
Manager\Applications\SQLServer\Projects\SQL0000500005"
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go
-- Search and replace HKLM indexer registry keys with new FT catalog folder
-- location [6 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\SQL0000500005"
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go

-- Restart the Microsoft Search service
exec master..xp_cmdshell 'net start "Microsoft Search"'
go

-- Confirm FT population, 1 row should be returned (pub_id = 0736). 
use pubs
go
SELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')
go
Ste "stop" celotextového populácie v pokroku spustením nasledujúci kód SQL Server:

Upozornenie Ak položku count nie je rovná počtu riadkov, ktoré celotextové indexované plus jedna ďalšia, celotextového katalóg veľkosť môže byť nesprávny!
-- Run the following code after starting full crawl/population through another connection.
use pubs
go
BEGIN
SET NOCOUNT ON
EXEC sp_fulltext_catalog 'PubInfo', 'stop'

-- Wait for crawl to stop

--  NOTE: For larger tables, increase the WAITFOR DELAY time appropriately

DECLARE @status int, @itemCount int, @keyCount int, @indexSize int
SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
WHILE (@status <> 0)
BEGIN
  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT
                           -- Populatestatus...
  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
END
WAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property
                         -- info (add more time for larger tables)...
SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')
SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')
SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')
PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount) - 1)
as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = ' +
CONVERT(varchar(10), @keyCount) + char(09)
SET NOCOUNT OFF
END
go
-- Can return: Nbr. of Rows FT Indexed = -1 Nbr. of Unique FT Words = 0 
-- (depending upon when the crawl/population stopped)
Postupy čistenia

Na oboch serverov spustite nasledujúci skript SQL:

Kvapka celotextového index, celotextového katalóg a potom vypnúť celotextového hľadania v krčmy databáza:
use pubs
go
sp_fulltext_table 'pub_info', 'drop'
go
sp_fulltext_catalog 'PubInfo', 'drop'
go
sp_fulltext_database 'disable'
go
sp_fulltext_service 'clean_up'
go
-- end SQL Script !

ODKAZY

Ďalšie informácie o možnostiach získania dbid pre databázu, v téme "DB_ID" v zdroji SQL Server Books Online.

Zistiť, či Databáza je full-text povolené, pozrite si "DATABASEPROPERTY" alebo "IsFulltextEnabled" témy v zdroji SQL Server Books Online.

Pre viac informácie o ftcatid, nájdete "sp_help_fulltext_catalogs", "OBJECTPROPERTY", alebo "TableFulltextCatalogId" témy v SQL Server Books Online.

Vlastnosti

ID článku: 240867 - Posledná kontrola: 23. októbra 2011 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft SQL Server 2000 Standard Edition, pri použití s produktom:
    • Microsoft SQL Server 2000 Developer Edition
    • Microsoft SQL Server 2000 Enterprise Edition
Kľúčové slová: 
kbinfo kbmt KB240867 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:240867

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com