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őre vonatkozik: :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Ezzel az utasítással módosíthatja a teljes szöveges katalógus tulajdonságait.
Transact-SQL szintaxis konvenciók
Szemantika
ALTER FULLTEXT CATALOG catalog_name
{ REBUILD [ WITH ACCENT_SENSITIVITY = { ON | OFF } ]
| REORGANIZE
| AS DEFAULT
}
Arguments
catalog_name
Megadja a módosítani kívánt katalógus nevét. Ha a megadott nevű katalógus nem létezik, SQL Server hibát ad vissza, és nem hajtja végre a ALTER műveletet.
REBUILD
A SQL Server Database Engine újraépíti a teljes katalógust. A katalógus újraépítésekor a meglévő katalógus törlődik, és egy új katalógus jön létre a helyén. Minden olyan táblázat, amely teljes szöveges indexelési hivatkozással rendelkezik, az új katalógushoz van kapcsolva. Az újraépítés visszaállítja a teljes szöveges metaadatokat az adatbázis rendszer tábláiban.
WITH ACCENT_SENSITIVITY = { ON | KI }
Megadja, hogy a módosítandó katalógus akcentusérzékeny-e vagy akcentusérzékeny-e teljes szöveges indexeléshez és lekérdezéshez.
A teljes szöveges katalógus aktuális ékezet-bizalmassági tulajdonságbeállításának meghatározásához használja a FULLTEXTCATALOGPROPERTY függvényt a tulajdonságértékkel AccentSensitivity.
- Ha a függvény visszaadja
1, a teljes szöveges katalógus ékezetes. - Ha a függvény visszaadja
0, a katalógus nem lesz ékezetes.
A katalógus és az adatbázis alapértelmezett akcentusérzékenysége ugyanaz.
ÚJJÁSZERVEZ
A SQL Server Database Engine egy főegyesítést hajt végre, amely magában foglalja az indexelés során létrehozott kisebb indexek egyesítését egy nagy indexbe. A teljes szöveges indextöredékek összevonása javíthatja a teljesítményt, és felszabadíthatja a lemez- és memóriaforrásokat. Ha gyakori változások történnek a teljes szöveges katalógusban, használd ezt a parancsot időnként, hogy átrendezd a teljes szöveges katalógust.
REORGANIZE emellett optimalizálja a belső index- és katalógusstruktúrákat is.
Az indexelt adatok mennyiségétől függően a fő egyesítés végrehajtása eltarthat egy ideig. Nagy mennyiségű adat egyesítése hosszú ideig futó tranzakciót hozhat létre, amely késlelteti a tranzakciónapló csonkolását egy ellenőrzőpont során. Ebben az esetben a tranzakciónapló jelentősen növekedhet a teljes helyreállítási modell alatt.
Legjobb gyakorlatként győződjön meg róla, hogy a tranzakciónapló elegendő helyet tartalmaz egy hosszú távú tranzakcióhoz, mielőtt egy nagy, teljes szövegű indexet egy teljes helyreállítási modellt használó adatbázisban szerveznénk át. További információ: A tranzakciós naplófájl méretének kezelése.
ALAPÉRTELMEZETT
Megadja, hogy ez a katalógus az alapértelmezett katalógus. Ha katalógusok megadása nélkül hoz létre teljes szöveges indexeket, a rendszer az alapértelmezett katalógust használja. Ha van egy meglévő alapértelmezett teljes szöveges katalógus, a katalógus AS DEFAULT beállítása felülírja a meglévő alapértelmezettet.
Permissions
A használatához ALTER FULLTEXT CATALOGaz alábbi engedélyek egyikére van szüksége:
-
ALTERengedély a teljes szöveges katalógusban - A rögzített adatbázis-szerepkörök db_owner vagy db_ddladmin tagsága
- A sysadmin rögzített kiszolgálói szerepkör tagsága
A használatához ALTER FULLTEXT CATALOG ... AS DEFAULTengedélyre van szüksége ALTER a teljes szöveges katalógushoz és CREATE FULLTEXT CATALOG az adatbázishoz.
Megjegyzések
Ha egy teljes szöveges katalógusban futtat egy REBUILD műveletet, az újraépítési művelet szünetel, ha egy másik munkamenet egy megnyitott tranzakciót futtat INSERT, UPDATEvagy DELETE az adott katalógushoz tartozó táblákon hajt végre műveleteket. Az újraépítési művelet csak a többi tranzakció véglegesítése vagy visszaállítása után folytatódik. Ezt a helyzetet a sys.dm_exec_requests és sys.dm_exec_sessions dinamikus felügyeleti nézetek (DMV-k) használatával figyelheti. Előfordulhat, hogy a felhasználói munkamenet és a háttér-újraépítési munkamenetek között zárolások láthatók, a várakozás típusa LCK_M_ISpedig a következő.
Hasonlóképpen, egy REORGANIZE művelet során előfordulhat, hogy a várakozás típusa abban a FT_MASTER_MERGE munkamenetben jelenik meg, amelyben a parancs fut. Ez a várakozási típus akkor fordulhat elő, ha más munkamenetek hosszú ideig futó tranzakciókat végeznek INSERT, UPDATEvagy DELETE műveleteket hajtanak végre ugyanazon a teljes szöveges katalógusban lévő táblákon. A DMV-k és sys.dm_exec_sessions a sys.dm_exec_requests DMV-k egy vagy több, várakozási típussal és FT_MASTER_MERGE paranccsal rendelkező LCK_M_IX háttér-munkamenetet láthatnak. A REORGANIZE művelet addig nem fejeződik be, amíg a zárolások fel nem oldódnak.
Az alábbi lekérdezés letiltott háttér-munkameneteket ad vissza.
SELECT r1.session_id,
r1.blocking_session_id,
r1.wait_type,
r1.wait_resource,
r1.last_wait_type,
r1.command AS BlockedSessionCommand,
r2.command AS BlockingSessionCommand,
s1.login_name AS BlockedSessionLogin,
s2.login_name AS BlockingSessionLogin,
s1.host_name AS BlockedSessionHost,
s2.host_name AS BlockingSessionHost,
r1.status AS BlockedSessionStatus,
r2.status AS BlockingSessionStatus
FROM sys.dm_exec_requests AS r1
INNER JOIN sys.dm_exec_sessions AS s1
ON r1.session_id = s1.session_id
INNER JOIN sys.dm_exec_sessions AS s2
ON r1.blocking_session_id = s2.session_id
LEFT OUTER JOIN sys.dm_exec_requests AS r2
ON s2.session_id = r2.session_id
WHERE r1.blocking_session_id <> 0
AND r1.status = 'background'
ORDER BY r1.wait_time DESC;
Példák
A következő példa megváltoztatja AccentSensitivity az alapértelmezett teljes szöveges katalógus ftCatalogtulajdonságát , amely akcentusérzékeny.
Módosítsa a katalógust érzéketlenre.
USE AdventureWorks2025; GO ALTER FULLTEXT CATALOG ftCatalog REBUILD WITH ACCENT_SENSITIVITY = OFF;Jelölőszín érzékenységének ellenőrzése.
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'AccentSensitivity');A lekérdezés visszaadja
0, ami azt jelenti, hogy a katalógus nem ékezetes.