Jak přesunout, kopírovat a zálohovat soubory a složky fulltextového katalogu

Překlady článku Překlady článku
ID článku: 240867 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Fulltextové katalogy a indexy nejsou uloženy v SQL Databáze serveru. Fulltextové katalogy a indexy, které jsou uloženy v samostatných souborech že vyhledávací služba spravuje. Soubory fulltextového katalogu nejsou obnovený během obnovení Microsoft SQL Server. Navíc nelze použít příkazy jazyka Transact SQL zálohování a obnovení, zálohování a obnovení katalog fulltextového vyhledávání souborů. Po obnovení nebo obnovení činnosti musíte synchronizovat samostatně fulltextové katalogy. Pouze Microsoft Windows NT správce systému a vyhledávací služba přístup fulltextové soubory katalogu.

Ačkoli nelze použít k zálohování databáze serveru SQL Server fulltextové katalogy, můžete použít produkčních databází velkých tabulek, které jsou fulltextové hledání povolena. Pokud tak učiníte, budete muset přesunout, zálohování, nebo Obnovte tyto fulltextové katalogy a jejich provoz databází. Doba zpracování fulltextového katalogu populace nebo synchronizace může být delší než okno běžné údržby. Tento článek popisuje různé metody, které lze přesunout nebo zkopírovat katalogy bez zahájení celé populace. Tímto způsobem se vyhnete významné prostoje.

Dokumenty tohoto článku několik metod, které můžete zkopírovat, přesunout a zálohovat nebo obnovit katalog fulltextového vyhledávání složek a souborů v určitých omezení:
  • Verze serveru SQL Server, které používáte, jsou stejné.
  • Katalog fulltextového vyhledávání složek a souborů, které musí být na místní jednotka.
  • Katalog fulltextového vyhledávání složek a souborů, musíte zachovat jejich původní názvy a obsah složky.
  • Celém textu povoleno identifikátor databázi a tabulku Identifikátor musí být na obou serverech stejná při přesunutí nebo zkopírování fulltextové katalogy mezi servery.
Upozornění Tyto postupy nejsou podporovány na instance clusteru převzetí služeb při selhání serveru SQL.

Fulltextové katalogy jsou udržovány jako sada složek a soubory. Výchozí umístění fulltextové katalogy jsou:

Microsoft SQL Server 7.0:
\Mssql7\FTDATA

Microsoft SQL Server 2000:
Výchozí instance: Program Files\Microsoft SQL Server\MSSQL\FTDATA
Pojmenované instance: Program Files\Microsoft SQL Server\MSSQL$ instancename\FTDATA

Každý fulltextového katalogu a jeho přidružené soubory jsou zachovány ve složce, která používá následující názvy úmluva kde identifikátor DBID Přidružená databáze je identifikátor a kde ftcatid je celém textu katalog identifikátor:

(SQLxxxxx)"identifikátor DBID) yyyyy (ftcatid)"

Každý ftcatid je jedinečný v přidruženém databáze.

Důležité Tento oddíl, metoda nebo úkol obsahuje kroky, které informace o úpravě registru. Však mohou nastat závažné problémy při nesprávných úpravách registru. Proto se ujistěte, opatrně postupujte takto. Pro zvýšení ochrany před úpravami je nutné zálohujte registr. Můžete pak obnovení registru v případě, že dojde k potížím. Další informace o zálohování a obnovení registru získáte článku znalostní báze Microsoft Knowledge Base:
322756 Postup při zálohování a obnovení registru v systému Windows

Zálohování fulltextového katalogu na samostatný počítač nebo cluster

  1. Zastavení vyhledávací služby na samostatnou počítač. Konfigurace clusteru serveru SQL Server ponechte celém textu prostředek do režimu online. Po zastavení vyhledávací službu nelze spustit fulltextové dotazy, které používají predikáty obsahuje nebo FREETEXT, nebo hodnoceno řádků funkce CONTAINSTABLE nebo FREETEXTTABLE v databázi. Navíc fungovat dotazy fulltextové vyhledávání a zobrazí následující chybová zpráva:
    Server: Msg 7602 úroveň 16, Stav 1, řádek 2 fulltextové služby (vyhledávání) není k dispozici. Na správce systému musí být spuštění této služby.
  2. Zálohování souborů systému Microsoft Windows NT pomocí nástroje, například jako Backup Exec a pak znovu fulltextové katalogy, složek a souborů.Na systémové tabulky pro fulltextové katalogy)sysfulltextcatalogs) je zálohována databáze serveru SQL Server.
  3. Zálohování následující položky registru v případě, že je nutné zálohovat katalogy jednotlivě:
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[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ázev složky katalogu (SQLxxxxx)"identifikátor DBID) yyyyy (ftcatid)"
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.
  4. 2. Zazálohujte následující položky registru zálohovat všechny katalogy: (to Zálohuje všechny fulltextové katalogy na serveru.)
    \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
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.

Obnovit fulltextové katalogy na stejném serveru do stejné místní jednotky nebo cestu

  1. Zastavte vyhledávací službu. Poznámka: Pouze v případě, že databáze byla vynechána, proveďte krok 2. V opačném případě přejděte k Krok 3.
  2. Obnovení nebo připojení databáze, kde je povoleno fulltextové. Po obnovení databáze, přesvědčte se, zda že databáze ID (identifikátor dbid) je stejná jako bylo při zálohování.
    Poznámka: Pokud byla databáze připojené pomocí sp_attach_dbpříkaz, ujistěte se, že spustíte Exec sp_fulltext_database "-" příkaz Povolit fulltextové databáze.
  3. Chcete-li zjistit, identifikátor dbid, spusťte následující kód:
    Use dbname
    go
    select db_id()
    Poznámka: Chcete-li obnovit jednotlivé katalogy, postupujte podle kroku 4. K obnovení všech katalogy, přejděte ke kroku 5.
  4. Obnovení položek registru, které jste zálohovali na základě předchozí záložní pokyny. Možná budete chtít zálohovat registr před Pokuste se tento krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[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ázev složky katalogu (SQLxxxxx)"identifikátor DBID) yyyyy (ftcatid)"
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.
  5. Chcete-li obnovit všechny katalogy na serveru, obnovte následující položky registru. Možná budete chtít zálohovat registr před Opakujte 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
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.
  6. Obnovte katalog ze zálohy do výchozího umístění že zálohování z.
  7. Restartujte vyhledávací službu.
  8. Potvrďte, že nové fulltextové katalogy soubory a složky jsou funkční pomocí příkazu pro výběr jazyka Transact-SQL a pomocí obsahuje nebo Predikát FREETEXT v klauzuli WHERE.

Přesunutí nebo zkopírování fulltextové katalogy mezi místní jednotky nebo cesty ve stejném počítači, na kterém je spuštěn SQL Server

  1. Potvrďte název fulltextového katalogu a místní jednotky nebo cestu pomocí sp_help_fulltext_catalogs 'ft_catalog_name'. Záznam celém textu katalog písmeno jednotky a úplnou cestu pro pozdější použití.
  2. Zastavte vyhledávací službu. Proveďte krok 3 a 4 pouze v případě, že databáze byla vynechána nebo byl odstraněn katalog, jinak přejdete. ke kroku 5.
  3. Obnovení nebo připojení databáze, kde je povoleno fulltextové. Po obnovení databáze, přesvědčte se, zda že databáze ID (identifikátor dbid) je stejná jako bylo při zálohování.

    Poznámka: Pokud byla databáze připojené pomocí sp_attach_dbpříkaz, ujistěte se, že spustíte Exec sp_fulltext_database "-" příkaz Povolit fulltextové databáze.

    Chcete-li zjistit, identifikátor dbid, spusťte Následující kód:
    Use dbname
    go
    select db_id()
  4. Obnovte následující položky registru. Možná budete chtít zálohujte registr před provedením tohoto kroku.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[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ázev složky katalogu (SQLxxxxx)"identifikátor DBID) yyyyy (ftcatid)"
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.
  5. Určete nové fulltextového katalogu místní jednotku nebo cestu. Fulltextové katalogy zkopírujte na nové místo.
  6. Povolit aktualizace tabulky systému pomocí systému uloženy Postup sp_configure ZNOVU s override a pak aktualizovat [název_databáze]. dbo.sysfulltextcatalogs sloupec cestu k nové místní jednotku nebo cestu cíl katalog fulltextového výchozí složky, například d:\FTData.
  7. Pomocí systému Windows NT 4.0 Resource Kit regfind Nástroj Najít a nahradit následující klíč registru HKLM hodnoty pro každý fulltextového katalogu (například složka (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]
    Dále se ujistěte, zda používáte přímé nabídky značky ("") uzavřete klíčů registru pro obě -p a -r Parametry. Například:
    -m \\server_2 -p "<Key Name>" <Old_FT_Catalog_Path_and_Folder> -r <New_FT_Catalog_Path_and_Folder>

    Poznámka: Nahradit <key name="">, <old_ft_catalog_path_and_folder>, a <new_ft_catalog_path_and_folder> s příslušnými hodnotami.<b00></b00></new_ft_catalog_path_and_folder></old_ft_catalog_path_and_folder></key>
    Pro Pří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

    Další informace o syntaxi pro použití regfind nástroj, zadejte následující parametr příkazového řádku systému DOS:regfind /?
  8. Restartujte vyhledávací službu.
  9. Potvrďte, že nové fulltextové katalogy soubory a složky jsou funkční pomocí příkazu pro výběr jazyka Transact-SQL a pomocí obsahuje nebo Predikát FREETEXT v klauzuli WHERE.

Kopírování fulltextové katalogy mezi instancemi serveru SQL Server do stejné místní jednotky nebo cestu

Následující kroky ukazují, jak lze přesunout nebo zkopírovat fulltextové katalog složky a soubory z jednoho počítače, který je spuštěn SQL Server (server_1) do jiného počítače se serverem SQL Server (server_2). To článek předpokládá, že SQL Server obsahuje fulltextové vyhledávání nainstalován a že na obou serverech existují stejné identifikátory databázi a tabulku. Pro úspěšné kopie fulltextové katalogy z jedné instance serveru SQL Server, databáze ID musí být stejné. Proto je lepší, server_2 (ke kterému kopírujete katalogu) se přesné repliky (kopie) server_1.Confirm, dbids, server_1 a server_2 jsou stejné. K provést, spusťte následující příkazy na obou serverech:
Use dbname
go
select db_id()
Chcete-li "zaměnit" dbids získat správný identifikátor dbid na server_2, použijte následující příkaz: sp_detach_db a sp_attach_db Odpojte a znovu připojte správné databází. Například pokud například máte dvě databáze TestDB (identifikátor dbid = 7) a Chcete (identifikátor dbid = 8), odpojte obou databází a pak první znovu připojte Chcete databáze a potom TestDB databáze. To swapy dbids: identifikátor dbid pro TestDB stane se 8 a identifikátor dbid pro Chcete stane se 7. Je nejnižší identifikátor dbid ve fondu k dispozici dbids vždy jako první používán.

Upozornění: K tomu, před Odpojit databází, ujistěte se, že v obou databázích nejsou mají všechny fulltextové katalogy a že se nejedná o fulltextové povolena. Viz "Čištění postupy" v části "Další informace" postup drop fulltextové katalogy a zakázat fulltextové databáze.
  1. Potvrdit, že master.dbo.sysdatabases identifikátor DBID hodnoty pro fulltextové databáze povolen, jsou stejné na oba servery.
  2. Potvrdit, že [název_databáze]. dbo.sysobjects ID hodnoty v tabulkách povoleno fulltextové jsou stejné v obou servery. Další informace o tom, jak získat hodnotu ID tabulky naleznete téma "object_id" v knihy pro SQL Server.
  3. Potvrďte, že fulltextového katalogu název a místní jednotky nebo cesty jsou stejné na obou serverech pomocí sp_help_fulltext_catalogs'FT_Catalog_Name'.
  4. Zastavení vyhledávací služby v obou server_1 a server_2.
  5. Přiřadit písmeno jednotky na server_1 k odpovídající jednotce nebo cestu na server_2.
  6. Zkopírujte složku fulltextového katalogu a soubory, které označené v kroku 3 z server_1 do server_2 pomocí příkazu DOS xcopy. Úplný katalog fulltextového jednotky nebo cestu a název složky jako zdrojové umístění a jednotka namapovaná fulltextového katalogu nebo Cesta a název složky jako cílové umístění. Pokud cílové složky v server_2 použití neexistuje xcopy přepínače /I a /E vytvořit všechny cílové složky. Chcete-li obnovit všechny katalogy, kopírování všechny složky katalog server_2.
  7. Můžete použít příkaz DOS RMDIR /S /Q [FT_Catalog_drive/cesta] na server_1 odebrat soubory fulltextového katalogu na server_1.

    Poznámka: Chcete-li obnovit jednotlivé katalogy, postupujte podle kroku 8. K obnovení všech katalogy, přejděte ke kroku 9.
  8. Obnovení položek registru, které jste zálohovali na základě předchozí pokyny. Možná budete chtít zálohovat registr před tím krok.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[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ázev složky katalogu (SQLxxxxx)"identifikátor DBID) yyyyy (ftcatid)"
    Pojmenované instance serveru SQL Server je položka registru \SQLServer$InstanceName\.
  9. Chcete-li obnovit všechny katalogy na serveru, obnovte následující položky registru. Avšak pokud tak učiníte, ztratíte všechny existující katalogy na server_2 po provedení tohoto kroku. Možná budete chtít zálohovat váš registr před provedením tohoto kroku.
    \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: Ve výchozím umístění fulltextové binární soubory jsou:
    SQL Server 7.0: \Mssql7\FTDATA
    Společnosti Microsoft. Výchozí instance serveru SQL Server 2000: \Program Files\Microsoft SQL Server\MSSQL\FTDATA
    Pojmenované instance serveru SQL Server 2000: MSSQL$InstanceName\FTDATA
    Tyto umístění a složka cesty mohou lišit pro různé počítače. V takovém případě je musíte změnit dvěma položkami registru, tak cesty odkazují na správné umístění Po dokončení obnovení na server_2 binární soubory fulltextové.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Můžete použít regfind Nástroj Najít položky registru a změňte umístění fulltextové binární soubory.
  10. Restartujte službu Microsoft Search na obou servery.
  11. Potvrďte, že nové fulltextové katalogy soubory a složky jsou funkční pomocí příkazu pro výběr jazyka Transact-SQL a pomocí obsahuje nebo Predikát FREETEXT v klauzuli WHERE.

Další informace

Následující skript SQL Server ukazuje, jak lze přesunout nebo "přenést" fulltextového katalogu složky ze serveru SQL Server 7.0 (server_1) do jiného počítače se systémem SQL Server 7.0 (server_2) na jinou místní jednotku nebo cestu k umístění na server_2. Tento článek předpokládá, že SQL Server 7.0 s fulltextové vyhledávání je nainstalována v počítači se systémem Windows NT 4.0 a která na obou serverech existují stejné identifikátory databázi a tabulku.

Pro účelem tohoto obrázku Pubs (identifikátor dbid = 5) databázi a tabulku pub_info (id = 645577338) jsou fulltextové povolena a naplněna na obou servery. Nahraďte název serveru server_2 a nahradit celém textu katalog název složky a jednotky nebo cestě s názvem vašeho fulltextového katalogu složky a jednotku nebo cestu.

Musíte se přihlásit jako člen serveru společnosti místní Správci seskupení a být členem serveru SQL Server sysadmin Server roli (nebo přihlásit jako "sa"). Dále musí být vlastník databáze (DBO) databáze spustit následující Server SQL skripty.

Spusťte následující skript SQL Server na obou serverech:
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
Spusťte následující skript SQL Server na ZDROJOVÉM serveru (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
Následující skript SQL je třeba spustit v určení 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
Můžete "zastavit" fulltextové populace v průběhu spuštění Následující kód SQL Server:

Upozornění: Pokud je počet položek není rovna počtu řádků fulltextové indexování plus jedna další, může být velikost fulltextového katalogu nesprávný!
-- 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 pro čištění

Spusťte následující skript SQL na obou serverech:

Přetažení fulltextový index, fulltextového katalogu a potom zakažte fulltextového vyhledávání v pubs databáze:
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

Další informace o možnostech získání dbid pro databázi v tématu "db_id" v dokumentaci SQL Server Books Online.

Určuje, zda je povoleno fulltextové databáze naleznete v části "databaseproperty" nebo "isfulltextenabled" témata v dokumentaci SQL Server Books Online.

Další informace informace o ftcatid, viz "sp_help_fulltext_catalogs" "objectproperty" nebo "tablefulltextcatalogid" témat knihy pro SQL Server Online.

Vlastnosti

ID článku: 240867 - Poslední aktualizace: 26. dubna 2011 - Revize: 8.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2000 Standard Edition na těchto platformách
    • Microsoft SQL Server 2000 Developer Edition
    • Microsoft SQL Server 2000 Enterprise Edition
Klíčová slova: 
kbinfo kbmt KB240867 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:240867

Dejte nám zpětnou vazbu

 

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