ALTER FULLTEXT CATALOG (Transact-SQL)
Modifica le proprietà di un catalogo full-text.
Sintassi
ALTER FULLTEXT CATALOG catalog_name
{ REBUILD [ WITH ACCENT_SENSITIVITY = { ON | OFF } ]
| REORGANIZE
| AS DEFAULT
}
Argomenti
catalog_name
Specifica il nome del catalogo da modificare. Se non esiste un catalogo con il nome specificato, SQL Server restituisce un errore e non esegue l'operazione ALTER.REBUILD
Indica a SQL Server di ricompilare l'intero catalogo. Quando viene ricompilato un catalogo, il catalogo esistente viene eliminato e al suo posto viene creato un nuovo catalogo. Tutte le tabelle con riferimenti di indicizzazione full-text vengono associate al nuovo catalogo. La ricompilazione reimposta i metadati full-text nelle tabelle di sistema del database.WITH ACCENT_SENSITIVITY = {ON|OFF}
Specifica se il catalogo da modificare supporta o meno la distinzione tra caratteri accentati e non accentati per l'esecuzione di query e l'indicizzazione full-text.Per determinare l'impostazione corrente della proprietà relativa alla distinzione tra caratteri accentati e non accentati di un catalogo full-text, eseguire la funzione FULLTEXTCATALOGPROPERTY con il valore della proprietà accentsensitivity per catalog_name. Se la funzione restituisce '1', il catalogo full-text supporta la distinzione tra caratteri accentati e non accentati. Se la funzione restituisce '0', il catalogo non supporta la distinzione tra caratteri accentati e non accentati.
Il valore predefinito per la distinzione tra caratteri accentati e non accentati è uguale per il catalogo e il database.
REORGANIZE
Indica a SQL Server di eseguire un'unione nell'indice master, che comporta l'unione degli indici più piccoli creati durante il processo di indicizzazione in un unico indice di grandi dimensioni. L'unione dei frammenti di indici full-text può migliorare le prestazioni e liberare risorse di memoria e spazio su disco. Se il catalogo full-text è soggetto a modifiche frequenti, utilizzare questo comando con regolarità per riorganizzarlo.REORGANIZE, inoltre, consente di ottimizzare le strutture interne dell'indice e del catalogo.
Tenere presente che, a seconda della quantità di dati indicizzati, un'unione nell'indice master può richiedere parecchio tempo. L'unione nell'indice master di una grande quantità di dati può comportare la creazione di una transazione con esecuzione prolungata, con il conseguente ritardo del troncamento del log delle transazioni durante il checkpoint. In questo caso, le dimensioni del log delle transazioni potrebbero aumentare notevolmente, se si utilizza il modello di recupero con registrazione completa. È consigliabile verificare che il log delle transazioni contenga spazio sufficiente per una transazione con esecuzione prolungata prima di riorganizzare un indice full-text di grandi dimensioni in un database in cui viene utilizzato il modello di recupero con registrazione completa. Per ulteriori informazioni, vedere Gestione delle dimensioni del file di log delle transazioni.
AS DEFAULT
Specifica che il catalogo è il catalogo predefinito. Quando vengono creati indici full-text senza che siano stati specificati cataloghi, viene utilizzato il catalogo predefinito. Se esiste già un catalogo full-text predefinito e si imposta AS DEFAULT per questo catalogo, il catalogo predefinito esistente verrà ignorato.
Autorizzazioni
L'utente deve disporre dell'autorizzazione ALTER nel catalogo full-text oppure deve essere membro del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner o db_ddladmin.
Nota
Per utilizzare ALTER FULLTEXT CATALOG AS DEFAULT, l'utente deve disporre dell'autorizzazione ALTER nel catalogo full-text e dell'autorizzazione CREATE FULLTEXT CATALOG nel database.
Esempi
Nell'esempio seguente la proprietà accentsensitivity del catalogo full-text predefinito viene impostata su ftCatalog, a indicare che il catalogo supporta la distinzione tra caratteri accentati e non accentati.
--Change to accent insensitive
USE AdventureWorks2008R2;
GO
ALTER FULLTEXT CATALOG ftCatalog
REBUILD WITH ACCENT_SENSITIVITY=OFF;
GO
-- Check Accentsensitivity
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity');
GO
--Returned 0, which means the catalog is not accent sensitive.
Vedere anche