CREATE FULLTEXT CATALOG (Transact-SQL)
Crea un catalogo full-text per un database. Un unico catalogo full-text può contenere numerosi indici full-text, ma un indice full-text può essere incluso in un solo catalogo full-text. Ogni database può contenere zero o più cataloghi full-text.
Non è consentita la creazione di cataloghi full-text nei database master, model o tempdb.
Importante |
---|
A partire da SQL Server 2008 un catalogo full-text è un oggetto virtuale che non appartiene ad alcun filegroup. Un catalogo full-text è un concetto logico che fa riferimento a un gruppo di indici full-text. |
Sintassi
CREATE FULLTEXT CATALOG catalog_name
[ON FILEGROUP filegroup ]
[IN PATH 'rootpath']
[WITH <catalog_option>]
[AS DEFAULT]
[AUTHORIZATION owner_name ]
<catalog_option>::=
ACCENT_SENSITIVITY = {ON|OFF}
Argomenti
catalog_name
Nome del nuovo catalogo. Il nome del catalogo deve essere univoco nel database corrente, ovvero diverso da tutti i nomi di catalogo già esistenti. Anche il nome del file corrispondente al catalogo full-text (vedere ON FILEGROUP) deve essere univoco rispetto a tutti i file nel database. Se il nome specificato per il catalogo è già utilizzato per un altro catalogo nel database, in SQL Server viene restituito un errore.La lunghezza del nome del catalogo non deve superare i 120 caratteri.
ON FILEGROUP filegroup
A partire da SQL Server 2008, questa clausola non ha alcun effetto.IN PATH 'rootpath'
[!NOTA]
Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
A partire da SQL Server 2008, questa clausola non ha alcun effetto.
ACCENT_SENSITIVITY = {ON|OFF}
Specifica se per il catalogo viene applicata la distinzione tra caratteri accentati e non accentati per l'indicizzazione full-text. Se si modifica questa proprietà, l'indice deve essere ricostruito. Per impostazione predefinita, viene utilizzata l'impostazione per la distinzione tra caratteri accentati e non accentati specificata nelle regole di confronto del database. Per visualizzare le regole di confronto del database, utilizzare la vista del catalogo sys.databases.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 il valore restituito è '1', nel catalogo full-text viene fatta distinzione tra caratteri accentati e non accentati. Se il valore è '0', nel catalogo non viene fatta tale distinzione.
AS DEFAULT
Specifica che il catalogo è il catalogo predefinito. Quando si creano indici full-text senza specificare un catalogo full-text in modo esplicito, viene utilizzato il catalogo predefinito. Se un catalogo full-text esistente è già contrassegnato come AS DEFAULT, l'impostazione di AS DEFAULT per il nuovo catalogo renderà quest'ultimo il catalogo full-text predefinito.AUTHORIZATION owner_name
Imposta il proprietario del catalogo full-text sul nome di un utente o ruolo di database. Se per owner_name si specifica un ruolo, è necessario che l'utente corrente sia membro di tale ruolo oppure che l'utente che esegue l'istruzione sia il proprietario del database o un amministratore di sistema.Se per owner_name si specifica un nome utente, il nome utente deve essere uno dei seguenti:
Nome dell'utente che esegue l'istruzione.
Nome di un utente per il quale l'utente che esegue il comando dispone delle autorizzazioni di rappresentazione.
In alternativa, l'utente che esegue il comando deve essere il proprietario del database o un amministratore di sistema.
È inoltre necessario concedere a owner_name l'autorizzazione TAKE OWNERSHIP per il catalogo full-text specificato.
Osservazioni
Gli ID dei cataloghi full-text iniziano da 00005 e vengono incrementati di un'unità per ogni nuovo catalogo creato.
Autorizzazioni
L'utente deve disporre dell'autorizzazione CREATE FULLTEXT CATALOG per il database oppure essere membro del ruolo predefinito del database db_owner o db_ddladmin.
Esempi
Nell'esempio seguente vengono creati un catalogo full-text e un indice full-text.
USE AdventureWorks;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO