Uppgradera Full-Text sök
gäller för:SQL Server
Azure SQL Database
SQL Server uppgraderar fulltextsökning under installationen, eller när du kopplar, återställer eller kopierar databasfiler och fulltextkataloger från en tidigare version av SQL Server.
Uppgradera en serverinstans
För en uppgradering på plats konfigureras en instans av SQL Server sida vid sida med den gamla versionen av SQL Server och data migreras. Om den gamla versionen av SQL Server hade fulltextsökning installerad installeras automatiskt en ny version av fulltextsökning. Sida vid sida-installation innebär att var och en av följande komponenter finns på instansnivå för SQL Server.
Ordbrytare, stamningsalgoritmer och filter
Varje instans använder nu sin egen uppsättning ordbrytare, stemmers och filter i stället för att förlita sig på operativsystemversionen av dessa komponenter. De här komponenterna är också enklare att registrera och konfigurera på nivån per instans. Mer information finns i Konfigurera och hantera orddelare och stammar för sökning och Konfigurera och hantera filter för sökning.
Filtrera daemonvärd
Daemonvärdarna för fulltextfilter är processer som på ett säkert sätt läser in och driver utbyggbara externa komponenter vilka används för indexering och sökfrågor, som ordbrytare, stamträd och filter, utan att kompromissa med Full-Text-maskinens integritet. En serverinstans använder en flertrådad process för alla flertrådade filter och en enkeltrådad process för alla entrådade filter.
Not
SQL Server 2008 (10.0.x) introducerade ett tjänstkonto för tjänsten FDHOST Launcher (MSSQLFDLauncher). Den här tjänsten distribuerar tjänstkontoinformationen till värdprocesserna för filterdemonen i en specifik instans av SQL Server. Information om hur du anger tjänstkontot finns i Ange tjänstkontot för Daemon Launcher för fulltextfilter.
I SQL Server 2005 (9.x) finns varje fulltextindex i en fulltextkatalog som tillhör en filgrupp, har en fysisk sökväg och behandlas som en databasfil. I SQL Server 2008 (10.0.x) och senare versioner är en fulltextkatalog ett logiskt eller virtuellt objekt som innehåller en grupp fulltextindex. Därför behandlas inte en ny fulltextkatalog som en databasfil med en fysisk sökväg. Men under uppgraderingen av en fulltextkatalog som innehåller datafiler skapas en ny filgrupp på samma disk. Detta underhåller det gamla disk-I/O-beteendet efter uppgraderingen. Vilket som helst fulltextindex från katalogen placeras i den nya filgruppen om rotsökvägen finns. Om den gamla katalogsökvägen i fulltext är ogiltig behåller uppgraderingen fulltextindexet i samma filgrupp som bastabellen eller, för en partitionerad tabell, i den primära filgruppen.
Uppgraderingsalternativ i fulltext
När du uppgraderar en SQL Server-instans kan du med användargränssnittet välja något av följande uppgraderingsalternativ i fulltext.
Importera
Fulltextkataloger importeras. Normalt är import betydligt snabbare än återuppbyggnad. Om du till exempel bara använder en processor körs importen ungefär 10 gånger snabbare än återskapad. En importerad fulltextkatalog använder dock inte de nya ordbrytarna som installerats med den senaste versionen av SQL Server. För att säkerställa konsekvens i frågeresultat måste fulltextkataloger återskapas.
Not
Återskapa kan köras i flertrådat läge, och om fler än 10 processorer är tillgängliga kan återskapande köras snabbare än import om du tillåter att återskapande använder alla processorer.
Om en fulltextkatalog inte är tillgänglig återskapas de associerade fulltextindexen. Det här alternativet är endast tillgängligt för SQL Server 2005-databaser (9.x).
Information om hur du importerar fulltextindex finns i "Överväganden för att välja ett Full-Text uppgraderingsalternativ" senare i det här avsnittet.
Återskapa
Fulltextkataloger återskapas med hjälp av de nya och förbättrade ordbrytarna. Det kan ta ett tag att återskapa index, och det kan krävas en betydande mängd cpu och minne efter uppgraderingen.
Återställ
Fulltextkataloger har återställts. När du uppgraderar från SQL Server 2005 (9.x) tas katalogfiler i fulltext bort, men metadata för fulltextkataloger och fulltextindex behålls. Efter uppgraderingen inaktiveras alla fulltextindex för ändringsspårning och crawlningar startas inte automatiskt. Katalogen förblir tom tills du manuellt utfärdar en fullständig population när uppgraderingen har slutförts.
Att tänka på när du väljer ett uppgraderingsalternativ i fulltext
Tänk på följande när du väljer uppgraderingsalternativet för uppgraderingen:
Behöver du konsekvens i frågeresultat?
SQL Server installerar nya ordbrytare för användning av Full-Text och semantisk sökning. Ordbrytarna används både vid indexeringstid och vid frågetid. Om du inte återskapar fulltextkatalogerna kan sökresultaten vara inkonsekventa. Om du utfärdar en fulltextfråga som söker efter en fras som är bruten på ett annat sätt av ordbrytaren i en tidigare version av SQL Server och den aktuella ordbrytaren kanske inte ett dokument eller en rad som innehåller frasen hämtas. Det beror på att de indexerade fraserna bröts med annan logik än frågan använder. Lösningen är att fylla i (återskapa) fulltextkatalogerna med de nya ordbrytarna så att indextids- och frågetidsbeteendet är identiska. Du kan välja alternativet Återskapa för att åstadkomma detta, eller så kan du återskapa manuellt när du har valt alternativet Importera.
Byggdes alla fulltextindex på heltalskolumner med fulltextnycklar?
Ombyggnad utför interna optimeringar som förbättrar sökprestanda för det uppgraderade fulltextindexet i vissa fall. Specifikt, om du har fulltextkataloger som innehåller fulltextindex för vilka fulltextnyckelkolumnen i grundtabellen är en heltalsdatatyp, ger återskapande ideal prestanda för fulltextfrågor efter uppgraderingen. I det här fallet rekommenderar vi starkt att du använder Återskapa-funktionen.
Observera
För fulltextindex rekommenderar vi att kolumnen som fungerar som fulltextnyckel är en heltalsdatatyp. Mer information finns i Förbättra prestanda för Full-Text index.
Vad är prioriteten för att få serverinstansen online?
Import eller återskapande under uppgraderingen kräver mycket CPU-resurser, vilket fördröjer uppgraderingen av resten av serverinstansen och online. Om det är viktigt att få igång serverinstansen så snart som möjligt och om du är villig att köra en manuell population efter uppgraderingen är Återställ lämpligt.
Säkerställa konsekventa frågeresultat när du har importerat ett fulltextindex
Om en fulltextkatalog importerades när en SQL Server 2005-databas (9.x) uppgraderades, kan det uppstå felmatchningar mellan frågan och innehållet i fulltextindexet på grund av skillnader i beteendet för de gamla och nya ordbrytarna. I det här fallet väljer du något av följande alternativ för att garantera en total matchning mellan frågor och innehållet i fulltextindexet:
Återskapa den fulltextkatalog som innehåller fulltextindexet (ALTER FULLTEXT CATALOGcatalog_name REBUILD)
Utfärda en FULLSTÄNDIG POPULATION för fulltextindexet (ÄNDRA FULLTEXTINDEX PÅ table_name STARTA FULL POPULATION).
Mer information om ordbrytare finns i Konfigurera och hantera Word Breakers och Stemmers for Search.
Uppgradera brusordsfiler till stopplistor
När en databas uppgraderas från SQL Server 2005 (9.x) används inte längre brusordsfilerna. De gamla brusordsfilerna lagras dock i mappen FTDATA\ FTNoiseThesaurusBak
och du kan använda dem senare när du uppdaterar eller skapar motsvarande SQL Server-stopplistor.
Efter uppgradering från SQL Server 2005 (9.x):
Om du aldrig har lagt till, ändrat eller tagit bort brusordsfiler i installationen av SQL Server 2005 (9.x) bör systemstopplistan uppfylla dina behov.
Om brusordsfilerna ändrades i SQL Server 2005 (9.x) går dessa ändringar förlorade under uppgraderingen. Om du vill återskapa uppdateringarna måste du återskapa ändringarna manuellt i motsvarande stopplista. Mer information finns i ALTER FULLTEXT STOPLIST (Transact-SQL).
Om du inte vill använda några stoppord för dina fulltextindex (till exempel om du har tagit bort eller raderat brusordsfilerna i sql Server 2005-installationen (9.x) måste du inaktivera stopplistan för varje uppgraderat fulltextindex. Kör följande Transact-SQL-instruktion (ersätt databas med namnet på den uppgraderade databasen och tabell med namnet på -tabellen):
Use database; ALTER FULLTEXT INDEX ON table SET STOPLIST OFF; GO
STOPLIST OFF-satsen tar bort stoppordsfiltrering och utlöser en population av tabellen, utan att filtrera bort brusord.
Säkerhetskopior och importerade fulltextkataloger
För fulltextkataloger som återskapas eller återställs under uppgraderingen (och för nya fulltextkataloger) är fulltextkatalogen ett logiskt begrepp och finns inte i en filgrupp. För att säkerhetskopiera en fulltextkatalog måste du därför identifiera varje filgrupp som innehåller ett fulltextindex för katalogen och säkerhetskopiera var och en av dem, en i taget. För mer information, se Säkerhetskopiera och återställa Full-Text kataloger och index.
För fulltextkataloger som har importerats från SQL Server 2005 (9.x) är fulltextkatalogen fortfarande en databasfil i en egen filgrupp. Säkerhetskopieringsprocessen för SQL Server 2005 (9.x) för fulltextkataloger gäller fortfarande förutom att MSFTESQL-tjänsten inte finns i SQL Server. Information om SQL Server 2005-processen (9.x) finns i Säkerhetskopiering och återställning av Full-Text kataloger i SQL Server 2005 Books Online.
Migrera fulltextindex när du uppgraderar en databas
Databasfiler och fulltextkataloger från en tidigare version av SQL Server kan uppgraderas till en befintlig instans med hjälp av guiden bifoga, återställa eller kopiera databas. SQL Server 2005 (9.x) fulltextindex, om några, importeras, återställs eller återskapas. Egenskapen upgrade_option server styr vilket fulltextuppgraderingsalternativ som serverinstansen använder under dessa databasuppgraderingar.
När du har bifogat, återställt eller kopierat en SQL Server 2005-databas (9.x) blir databasen tillgänglig omedelbart och uppgraderas sedan automatiskt. Beroende på hur mycket data som indexeras kan det ta flera timmar att importera, och återskapande kan ta upp till tio gånger längre tid. Observera också att när uppgraderingsalternativet är inställt på import återskapas de associerade fulltextindexen om en fulltextkatalog inte är tillgänglig.
Så här ändrar du uppgraderingsbeteendet i fulltext på en serverinstans
Transact-SQL: Använd åtgärden upgrade_option för sp_fulltext_service
SQL Server Management Studio : Använd alternativet Full-Text Uppgradering i dialogrutan Serveregenskaper. Mer information finns i Hantera och övervaka Full-Text Sök efter en serverinstans.
Överväganden för att återställa en SQL Server 2005 (9.x) Full-Text Catalog
En metod för att uppgradera fulltextdata från en SQL Server 2005-databas (9.x) är att återställa en fullständig databassäkerhetskopia till en nyare instans av SQL Server.
När du importerar en SQL Server 2005-katalog (9.x) i fulltext kan du säkerhetskopiera och återställa databasen och katalogfilen. Beteendet är detsamma som i SQL Server 2005 (9.x):
Den fullständiga databassäkerhetskopian innehåller fulltextkatalogen. Om du vill referera till katalogen med fulltext använder du filnamnet för SQL Server 2005 (9.x), sysft_+katalognamn.
Om fulltextkatalogen är offline misslyckas säkerhetskopieringen.
Mer information om hur du säkerhetskopierar och återställer SQL Server 2005(9.x) fulltextkataloger finns i Säkerhetskopiering och återställning av Full-Text kataloger och Säkerhetskopiering och återställning av filer och Full-Text katalogeri SQL Server 2005 (9.x) Books Online.
När databasen återställs på en nyare instans av SQL Server skapas en ny databasfil för fulltextkatalogen. Standardnamnet för den här filen är ftrow_katalognamn.ndf. Om ditt katalognamn är cat1
, är standardnamnet för SQL Server-databasfilen ftrow_cat1.ndf
. Men om standardnamnet redan används i målkatalogen skulle den nya databasfilen namnges ftrow_
katalognamn{
GUID}.ndf
, där GUID är den globalt unika identifieraren för den nya filen.
När katalogerna har importerats uppdateras sys.database_files och sys.master_files för att ta bort katalogposterna och sökväg kolumn i sys.fulltext_catalogs anges till NULL.
Att säkerhetskopiera en databas
säkerhetskopieringar av transaktionsloggar (SQL Server) (endast fullständig återställningsmodell)
Återställa en databassäkerhetskopia
Fullständig databasåterställning (enkel återställningsmodell)
Fullständig databasåterställning (fullständig återställningsmodell)
Exempel
I följande exempel används MOVE-satsen i instruktionen RESTORE för att återställa en SQL Server 2005-databas (9.x) med namnet ftdb1
. SQL Server 2005-databas-, logg- och katalogfilerna (9.x) flyttas till nya platser på SQL Server-serverinstansen enligt följande:
Databasfilen
ftdb1.mdf
flyttas tillC:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf
.Loggfilen
ftdb1_log.ldf
flyttas till en loggkatalog på loggdiskenheten log_drive:\
log_directory\ftdb1_log.ldf
.Katalogfilerna som motsvarar
sysft_cat90
katalogen flyttas tillC:\temp
. När fulltextindexen har importerats placeras de automatiskt i en databasfil, C:\ftrow_sysft_cat90.ndf, och C:\temp tas bort.
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';
Ansluta en SQL Server 2005-databas
I SQL Server 2008 (10.0.x) och senare versioner är en fulltextkatalog ett logiskt begrepp som refererar till en grupp fulltextindex. Fulltextkatalogen är ett virtuellt objekt som inte tillhör någon filgrupp. Men när du kopplar en SQL Server 2005-databas (9.x) som innehåller katalogfiler i fulltext till en nyare SQL Server-serverinstans, kopplas katalogfilerna från den tidigare platsen tillsammans med de andra databasfilerna, på samma sätt som i SQL Server 2005 (9.x).
Tillståndet för varje bifogad fulltextkatalog på SQL Server är detsamma som när databasen kopplades från SQL Server 2005 (9.x). Om en fulltextindexpopulation avbröts av frånkopplingsåtgärden, återupptas populationen på SQL Server och fulltextindexet blir tillgängligt för fulltextsökning.
Om SQL Server inte kan hitta en fulltextkatalogfil eller om fulltextfilen flyttades under anslutningsåtgärden utan att ange en ny plats, beror beteendet på det valda alternativet för fullständig textuppgradering. Om alternativet för fullständig textuppgradering är Importera eller Återskapaåterskapas den bifogade fulltextkatalogen. Om alternativet för fullständig textuppgradering är Återställåterställs den bifogade fulltextkatalogen.
Mer information om hur du kopplar från och kopplar en databas finns i Database Detach and Attach (SQL Server), CREATE DATABASE (SQL Server Transact-SQL), sp_attach_dboch sp_detach_db (Transact-SQL).
Se även
Kom igång med Full-Text Search
Konfigurera och hantera ordbrytare och stammare för sökning
Konfigurera och hantera filter för sökning