Condividi tramite


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.

Icona di collegamento a un argomentoConvenzioni della 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}

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 verrà restituito un errore.

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

  • ON FILEGROUP 'filegroup'
    Nome del filegroup di SQL Server in cui verrà incluso il nuovo catalogo. Se non si specifica un filegroup, il nuovo catalogo verrà incluso nel filegroup predefinito utilizzato per tutti i cataloghi full-text. Il filegroup predefinito per i cataloghi full-text è il filegroup primario del database. È consigliabile inserire i cataloghi full-text in un filegroup secondario. Ciò consente di eseguire operazioni di backup e ripristino dei filegroup per i cataloghi full-text in modo indipendente dai file di dati e di log. L'inserimento dei cataloghi full-text in un filegroup secondario consente inoltre di ripristinare un catalogo full-text in linea.

    Il filegroup in cui viene creato il catalogo full-text deve contenere almeno un file di dati disponibile, utilizzato per le strutture interne del catalogo full-text. Tale file, archiviato in SQL Server, non deve essere contrassegnato come OFFLINE o READONLY.

    I cataloghi in un filegroup vengono gestiti come file e le rispettive posizioni fisiche sono indicate dal percorso in sys.master_files. Il nome del file creato per ogni catalogo full-text è il risultato della combinazione di sysft_ e il nome del catalogo. Se, ad esempio, il nome del catalogo è catname, il nome del file corrispondente a tale catalogo sarà sysft_catname.

  • IN PATH 'rootpath'
    Directory principale del catalogo. Se non si specifica rootpath, il nuovo catalogo verrà creato nella directory predefinita specificata in fase di installazione.

    I cataloghi full-text devono essere creati in un disco rigido locale associato a un'istanza di SQL Server. rootpath non può essere un percorso relativo e deve esistere in un'unità nello stesso computer. Sebbene sia possibile specificare la directory principale di un'unità, ad esempio "C:\", come percorso di un catalogo full-text, questa impostazione non è consigliata. Le unità di rete, le unità rimovibili, i dischi floppy e i percorsi in formato UNC (Universal Naming Convention) non sono supportati. In un ambiente con cluster di failover, il percorso deve puntare a un disco condiviso da cui dipende la risorsa di SQL Server.

    Se si specifica il nome di un catalogo full-text esistente con un percorso non corretto, in SQL Server verrà restituito un errore e il catalogo full-text non verrà creato. Se il percorso rootpath specificato non esiste, in SQL Server verrà restituito un errore per segnalare che il percorso non esiste.

    Per rendere possibile il backup, il ripristino e il recupero differenziali di cataloghi full-text, è necessario archiviare il catalogo full-text in una directory di un file system NTFS. Il backup, il ripristino e il recupero differenziali non sono supportati in file system non NTFS.

    Il catalogo full-text verrà creato come directory nel percorso principale specificato. Il nome della directory sarà lo stesso del catalogo full-text. Se è già presente una directory con lo stesso nome del catalogo, verrà aggiunto un suffisso al nome del catalogo e tale nome verrà utilizzato per la creazione della nuova directory.

    Non creare cataloghi full-text nella directory principale di un'unità, come C:\.

  • 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', 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 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.
    • Oppure, 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.

Autorizzazioni

L'utente deve disporre dell'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 AdventureWorks;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO

Vedere anche

Riferimento

ALTER FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)

Altre risorse

Ricerca full-text
Nuovo catalogo full-text (pagina Generale)

Guida in linea e informazioni

Assistenza su SQL Server 2005