Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Ez a cikk a 2025-ös (17.x) és újabb verziók SQL Server teljes szöveges indexverzió-változását ismerteti. Ismerteti a viselkedés változásait, a szükséges migrálási lépéseket és az új összetevők bináris fájljait.
A teljes szövegű index verzióváltozásai az SQL Server 2025-ben
Az SQL Server 2025 (17.x) eltávolítja az örökölt szóelválasztó, szótőkereső és szűrő bináris fájljait az SQL Server telepítéséből. Ezeket az összetevőket modern eszközkészlettel újjáépítették, és kiterjesztett támogatást nyújtanak további nyelvekhez és dokumentumtípusokhoz. Az SQL Server 2025-tel (17.x) telepített összetevőket 2. verzió-nak nevezik. A SQL Server 2022 -es (16.x) és korábbi verzióival telepített összetevők neve 1. verzió.
Helyben végzett frissítés után a meglévő teljes szövegű indexek index_version = 1 értékkel rendelkeznek a sys.fulltext_indexes nézetben. Az újonnan létrehozott indexek a 2. verziót és az új összetevőket használják, kivéve, ha másként nem adja meg a FULLTEXT_INDEX_VERSION adatbázis-hatókörű konfigurációt.
A 2. verzió összetevőinek változásai
A 2. verzió összetevői nyelvi és dokumentumtípus-támogatást nyújtanak, új testreszabási modellt használnak, és az 1. verzió összetevőinél eltérő jogkivonat-megjelenítési eredményeket adnak vissza.
Új nyelvek támogatása
Az SQL Server 2025 (17.x) három új nyelven támogatja a teljes szöveges indexelést:
- Finn (LCID 1035)
- Magyar (LCID 1038)
- Észt (LCID 1061)
Új dokumentumtípusok támogatása
Az SQL Server 2025 (17.x) alapértelmezés szerint támogatja a következő dokumentumbővítmények indexelését.
| Szűrő | Extension |
|---|---|
msgfilt02.dll |
.msg |
odffilt02.dll |
\ |
offfilt02.dll |
.doc, .dot, .obd, .obt, .pot.pps, .ppt, .xlb, .xlc, , .xls.xlt |
offfiltx02.dll |
.docm, .docx, .dotx, .pptm.pptx, .xlsb, .xlsm, , .xlsx.zip |
onfilter02.dll |
.one |
Nem várt eredmények
Az SQL Server 2025 (17.x) új összetevői váratlan eredményeket adhatnak vissza az alkalmazásoknak. Vegyük például az angol (LCID 1033) szóválasztót:
| Időszak | Találatok az előző szóelválasztóval | Találatok új szótörővel |
|---|---|---|
cat_dog |
cat_dog |
cat_dogcatdog |
$100 |
$100nn100usd |
\$100nn100\$ |
2026-01-09 |
2026-01-092026nn20260109 |
2026-01-09dd2026010920260109 |
Testreszabási modell
A 2. verziójú teljes szöveges indexek már nem olvasnak összetevő-kezelőket a Windows beállításjegyzékből. A testreszabást egy példányspecifikus JSON-fájlon keresztül szabályozhatja. További információ: Szűrők és szóhatárolók testreszabása.
Frissítési és migrálási lehetőségek
Mivel a SQL Server 2025 (17.x) eltávolítja az összes 1-es verziójú bináris fájlt, az 1-es verziójú indexeket használó teljes szövegű lekérdezések és feltöltések meghiúsulnak a helyben végzett frissítés után. További információkért lásd: A SQL Server 2025 Database Engine funkcióinak változásai.
Használja az alábbi megközelítések egyikét az SQL Server 2025-re (17.x) vagy újabb verzióra való frissítés után, illetve az 1-es verziójú indexek kivezetésre való előkészítésekor az Azure SQL Database és az Azure SQL Managed Instance esetében.
1. verziójú indexek keresése
Futtassa a következő lekérdezést minden olyan adatbázisban, amely Full-Text Search használatával keres olyan indexeket, amelyek továbbra is az 1- es verziójú összetevőket használják:
SELECT fc.[name] AS catalog_name,
OBJECT_SCHEMA_NAME(fi.object_id) AS schema_name,
OBJECT_NAME(fi.object_id) AS table_name,
fi.object_id,
fi.*
FROM sys.fulltext_indexes AS fi
INNER JOIN sys.fulltext_catalogs AS fc
ON fi.fulltext_catalog_id = fc.fulltext_catalog_id
WHERE fi.index_version = 1;
Meglévő indexek újraépítése a 2. verziójú összetevőkkel
Meglévő teljes szöveges indexek újraépítése a 2. verziójú összetevők használatához. Ellenőrizze, hogy a(z) FULLTEXT_INDEX_VERSION értéke 2-re van állítva, majd építse újra a teljes szöveges katalógusokat.
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'FULLTEXT_INDEX_VERSION';
ALTER FULLTEXT CATALOG [FtCatalog] REBUILD;
Note
A katalógus újraépítési művelete újraépíti az összes teljes szöveges indexet. Ha szabályozni szeretné az indexek összeállításának sorrendjét, vagy csökkenteni szeretné az erőforrás-követelményeket, egyenként dobja el és hozza létre újra a teljes szöveges indexeket.
Az 1. verzió összetevőinek használata
Ezt a lehetőséget csak olyan SQL Server példányokhoz használhatja, ahol a SQL Server telepítésekor kezelheti a fájlokat.
Important
Az 1. verzió elavult a Linuxon futó SQL Serverhez. Az SQL Server 2025 (17.x) és újabb verzióiban a csomag nem tartalmazza az mssql-server-fts 1-es bináris verziót. Eltérő verziójú mssql-server-fts és mssql-server csomagok telepítése nem támogatott, és teljes körű hibákat eredményez.
Ha az alkalmazáskompatibilitás érdekében az 1-es verzión kell maradnia, állítsa be FULLTEXT_INDEX_VERSION = 1 , hogy elkerülje a 2- es verzióra való nem szándékos frissítést az újraépítés során.
ALTER DATABASE SCOPED CONFIGURATION
SET FULLTEXT_INDEX_VERSION = 1;
Ezután másolja át a régi szóhatároló, szótövező és szűrő bináris fájljait egy régebbi példány Binn mappájából a célpéldány Binn mappájába. A nyelvenként vagy dokumentumtípusonként másolandó DLL-fájlokról és függő kódtárakról a Teljes szöveges szűrő bináris fájljai , valamint a Teljes szöveges szóhatároló és a stemmer bináris fájlok című témakörben olvashat.
Az 1-es verziójú bináris fájlok teljes készletének tömeges másolásához másolja a következő szkriptet egy nevű Copy-FulltextV1Components.ps1fájlba.
<#
.SYNOPSIS
Copies the Full-Text V1 components from one SQL install's Binn folder to another.
Existing files are never overwritten; each file reports OK, SKIP or FAIL.
.EXAMPLE
.\Copy-FulltextV1Components.ps1 `
-SourceBinn 'C:\Program Files\Microsoft SQL Server\MSSQL16.INST1\MSSQL\Binn' `
-TargetBinn 'C:\Program Files\Microsoft SQL Server\MSSQL17.INST2\MSSQL\Binn'
#>
param(
[Parameter(Mandatory)] [string] $SourceBinn,
[Parameter(Mandatory)] [string] $TargetBinn
)
$components = @(
'infosoft.dll',
'LangWrbk.dll',
'korwbrkr.dll',
'korwbrkr.lex',
'msfte.dll',
'xmlfilt.dll',
'MsWb7.dll',
'MsWb70011.dll',
'MsWb7001e.dll',
'MsWb70404.dll',
'MsWb70804.dll',
'NaturalLanguage6.dll',
'NL7Data0011.dll',
'NL7Data001e.dll',
'NL7Data0404.dll',
'NL7Data0804.dll',
'NL7Lexicons0011.dll',
'NL7Lexicons001e.dll',
'NL7Lexicons0404.dll',
'NL7Lexicons0804.dll',
'NL7Models0011.dll',
'NL7Models001e.dll',
'NL7Models0404.dll',
'NL7Models0804.dll',
'nlhtml.dll',
'nls400.dll',
'NlsData0000.dll',
'NlsData0002.dll',
'NlsData0003.dll',
'NlsData000a.dll',
'NlsData000c.dll',
'NlsData000d.dll',
'NlsData000f.dll',
'NlsData0010.dll',
'NlsData0018.dll',
'NlsData001a.dll',
'NlsData001b.dll',
'NlsData001D.dll',
'NlsData0020.dll',
'NlsData0021.dll',
'NlsData0022.dll',
'NlsData0024.dll',
'NlsData0026.dll',
'NlsData0027.dll',
'NlsData002a.dll',
'NlsData0039.dll',
'NlsData003e.dll',
'NlsData0045.dll',
'NlsData0046.dll',
'NlsData0047.dll',
'NlsData0049.dll',
'NlsData004a.dll',
'NlsData004b.dll',
'NlsData004c.dll',
'NlsData004e.dll',
'NlsData0414.dll',
'NlsData0416.dll',
'NlsData0816.dll',
'NlsData081a.dll',
'NlsData0c1a.dll',
'Nlsdl.dll',
'NlsLexicons0002.dll',
'NlsLexicons0003.dll',
'NlsLexicons000a.dll',
'NlsLexicons000c.dll',
'NlsLexicons000d.dll',
'NlsLexicons000f.dll',
'NlsLexicons0010.dll',
'NlsLexicons0018.dll',
'NlsLexicons001a.dll',
'NlsLexicons001b.dll',
'NlsLexicons001D.dll',
'NlsLexicons0020.dll',
'NlsLexicons0021.dll',
'NlsLexicons0022.dll',
'NlsLexicons0024.dll',
'NlsLexicons0026.dll',
'NlsLexicons0027.dll',
'NlsLexicons002a.dll',
'NlsLexicons0039.dll',
'NlsLexicons003e.dll',
'NlsLexicons0045.dll',
'NlsLexicons0046.dll',
'NlsLexicons0047.dll',
'NlsLexicons0049.dll',
'NlsLexicons004a.dll',
'NlsLexicons004b.dll',
'NlsLexicons004c.dll',
'NlsLexicons004e.dll',
'NlsLexicons0414.dll',
'NlsLexicons0416.dll',
'NlsLexicons0816.dll',
'NlsLexicons081a.dll',
'NlsLexicons0c1a.dll',
'Prm0001.bin',
'Prm0005.bin',
'Prm0006.bin',
'Prm0007.bin',
'Prm0008.bin',
'Prm0009.bin',
'Prm0013.bin',
'Prm0015.bin',
'Prm0019.bin',
'Prm001f.bin'
)
if (-not (Test-Path -LiteralPath $SourceBinn -PathType Container)) { throw "Source Binn folder not found: $SourceBinn" }
if (-not (Test-Path -LiteralPath $TargetBinn -PathType Container)) { throw "Target Binn folder not found: $TargetBinn" }
if ((Split-Path -Leaf $SourceBinn) -ne 'Binn') { throw "Source path must be a Binn folder: $SourceBinn" }
if ((Split-Path -Leaf $TargetBinn) -ne 'Binn') { throw "Target path must be a Binn folder: $TargetBinn" }
$ok = 0; $skip = 0; $fail = 0
foreach ($name in $components) {
$srcFile = Join-Path $SourceBinn $name
$dstFile = Join-Path $TargetBinn $name
if (-not (Test-Path -LiteralPath $srcFile)) {
Write-Host "[FAIL] $name (source not found)" -ForegroundColor Red
$fail++
}
elseif (Test-Path -LiteralPath $dstFile) {
Write-Warning "[SKIP] $name already exists in target; not overwritten"
$skip++
}
else {
try {
Copy-Item -LiteralPath $srcFile -Destination $dstFile -ErrorAction Stop
Write-Host "[ OK ] $name" -ForegroundColor Green
$ok++
}
catch {
Write-Host "[FAIL] $name ($($_.Exception.Message))" -ForegroundColor Red
$fail++
}
}
}
Write-Host ""
Write-Host "Copied $ok, skipped $skip, failed $fail of $($components.Count)."
Futtassa a szkriptet egy rendszergazdai PowerShell-ablakban, ahol SourceBinn az 1- es verziójú bináris fájlokat tartalmazó SQL Server 2022 -es (16.x) vagy korábbi példány mappájának elérési Binn útja, és TargetBinn egy olyan SQL Server 2025-ös (17.x) vagy újabb példány mappájának elérési útjaBinn, amely folyamatos 1-es verziójú támogatást igényel.
.\Copy-FulltextV1Components.ps1 `
-SourceBinn 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn' `
-TargetBinn 'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Binn'
1. verzió állapota és elavultsági idővonala környezet szerint
| Környezet | Status | Beavatkozás szükséges |
|---|---|---|
| SQL Server 2025 (17.x) és újabb verziók | Az 1. verzió bináris fájljai törlődnek a SQL Server telepítéséből. Az 1. verziójú lekérdezések és populációk a helyszíni frissítés után meghiúsulnak. | Teljes szöveges indexek újraépítése vagy újbóli létrehozása a 2- es verziójú összetevőkkel. Ha az 1-es verzióra van szüksége a kompatibilitáshoz, csak akkor használja az 1-es verziót, ha támogatott. |
| Azure SQL Managed Instance a SQL Server 2025-ös frissítési szabályzatban | Az 1. verzió elavulása szakaszos bevezetés alatt áll. Az érintett ügyfelek rendszeres emlékeztető e-maileket kapnak a kivezetést megelőzően. | Építse újra vagy hozza létre újra a 2-es verziójú összetevőkkel rendelkező teljes szöveges indexeket, mielőtt a példány érintetté válna. Ha nem tud azonnal frissíteni, forduljon Microsoft ügyfélszolgálatához. |
| Azure SQL Database és Azure SQL Managed Instance az „Always-up-to-date” frissítési szabályzat szerint | Az 1. verziójú indexek továbbra is támogatottak, de az eltávolítást tervezik. Az újonnan létrehozott vagy újraépített indexek alapértelmezés szerint a 2. verziót használják. | Vegye számba az 1-es verziójú készletet, és előre tervezze meg a 2-es verziójú komponensekkel történő újraépítéseket az állásidő minimalizálása érdekében. |
Azure SQL elavulás idővonala
A következőkre vonatkozik: Azure SQL Database és Azure SQL felügyelt példány
Azure SQL Database és Azure SQL Managed Instance még nem távolítják el az 1- es bináris fájlokat. Ezeket a szolgáltatásokat fokozatosan vezetik ki, hogy elegendő idő álljon rendelkezésre a meglévő indexek újraépítésére, elsőként az Azure SQL Managed Instance esetében, a SQL Server 2025 frissítési szabályzata keretében. Az érintett ügyfelek a kivezetést megelőzően rendszeres e-mailes emlékeztetőket kapnak.
Az 1. verzió elavultatásakor az 1. verziójú indexeken lévő lekérdezések hibaüzenettel meghiúsulnak:
Msg 30011, Level 16, State 1, Line 37
Full-text index version 1 is not supported by this instance configuration. Rebuild or recreate the index with database scoped configuration FULLTEXT_INDEX_VERSION = 2. For more information, see https://aka.ms/fts-version-upgrade. If unable to upgrade, contact support for assistance.
A feltöltések a következő hibákkal sikertelenek a feltérképezési naplóban:
Error: 30011, Severity: 16, State: 1.
Full-text index version 1 is not supported by this instance configuration. Rebuild or recreate the index with database scoped configuration FULLTEXT_INDEX_VERSION = 2. For more information, see https://aka.ms/fts-version-upgrade. If unable to upgrade, contact support for assistance.
Error: 30059, Severity: 16, State: 1.
A fatal error occurred during a full-text population and caused the population to be cancelled. Population type is: <population_type>; database name is <database_name> (id: <database_id>); catalog name is <catalog_name> (id: <catalog_id>); table name <table_name> (id: <table_id>). Fix the errors that are logged in the full-text crawl log. Then, resume the population. The basic Transact-SQL syntax for this is: ALTER FULLTEXT INDEX ON table_name RESUME POPULATION.