CREATE FULLTEXT CATALOG (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

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 (10.0.x), un catalogo full-text è un oggetto virtuale e non appartiene ad alcun filegroup. Un catalogo full-text è un concetto logico che fa riferimento a un gruppo di indici full-text.

Convenzioni di sintassi Transact-SQL

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}  
  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

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à in uso per un altro catalogo nel database, SQL Server restituisce un errore.

La lunghezza del nome del catalogo non deve superare i 120 caratteri.

ON FILEGROUP filegroup
A partire da SQL Server 2008 (10.0.x), questa clausola non ha alcun effetto.

IN PATH 'rootpath'

Nota

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare 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 (10.0.x), 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 ricompilato. 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, usare 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 su catalog_name. Se il valore restituito è '1', il catalogo full-text supporta la distinzione tra caratteri accentati e non accentati. Se il valore è '0', per il catalogo non è attiva 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 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 owner_name è 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 owner_name è 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.

  • Oppure, l'utente che esegue il comando deve essere il proprietario del database o un amministratore di sistema.

È anche 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 catalogo creato.

Autorizzazioni

L'utente deve avere l'autorizzazione CREATE FULLTEXT CATALOG per il database oppure essere membro dei ruoli predefiniti del database db_owner o db_ddladmin.

Esempi

Nell'esempio seguente vengono creati un catalogo full-text e un indice full-text.

USE AdventureWorks2022;  
GO  
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;  
GO  
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;  
GO  

Vedi anche