sp_fulltext_catalog (Transact-SQL)
Crea ed elimina un catalogo full-text e avvia e interrompe l'azione di indicizzazione per un catalogo. È possibile creare più cataloghi full-text per ogni database.
Importante |
---|
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. Utilizzare in alternativa CREATE FULLTEXT CATALOG, ALTER FULLTEXT CATALOG e DROP FULLTEXT CATALOG. |
Sintassi
sp_fulltext_catalog [ @ftcat= ] 'fulltext_catalog_name' ,
[ @action= ] 'action'
[ , [ @path= ] 'root_directory' ]
Argomenti
[ @ftcat=] 'fulltext_catalog_name'
Nome del catalogo full-text. I nomi dei cataloghi devono essere univoci per ogni database. fulltext_catalog_name è di tipo sysname.[ @action=] 'action'
Azione che si desidera eseguire. action è di tipo varchar(20). I possibili valori sono i seguenti.[!NOTA]
I cataloghi full-text possono essere creati, eliminati e modificati in base alle necessità. Evitare tuttavia di modificare contemporaneamente più cataloghi a livello di schema. È possibile e consigliabile eseguire queste operazioni tramite la stored procedure sp_fulltext_table.
Valore
Descrizione
Create
Crea un nuovo catalogo full-text vuoto nel file system e aggiunge una riga corrispondente in sysfulltextcatalogs con i valori fulltext_catalog_name e root_directory, se è disponibile. fulltext_catalog_name deve essere un nome univoco all'interno del database.
Drop
Elimina il valore fulltext_catalog_name rimuovendolo dal file system ed eliminando la riga corrispondente in sysfulltextcatalogs. Se il catalogo contiene indici per una o più tabelle, questa azione ha esito negativo. Per eliminare le tabelle dal catalogo, eseguire sp_fulltext_table 'table_name', 'drop'.
Se il catalogo non esiste, viene visualizzato un errore.
start_incremental
Avvia un processo di popolamento incrementale per il catalogo specificato in fulltext_catalog_name. Se il catalogo non esiste, viene visualizzato un errore. Se è già attivo il popolamento di un indice full-text, viene visualizzato un avviso e il popolamento non viene eseguito. Durante il popolamento incrementale vengono recuperate per l'indicizzazione full-text solo le righe modificate, a condizione che la tabella su cui si esegue questa operazione includa una colonna di tipo timestamp.
start_full
Avvia un processo di popolamento completo per il catalogo specificato in fulltext_catalog_name. Per l'indicizzazione full-text viene recuperata ogni riga di ogni tabella associata al catalogo, anche se è già stata indicizzata.
Stop
Interrompe il processo di popolamento di un indice per il catalogo specificato in fulltext_catalog_name. Se il catalogo non esiste, viene visualizzato un errore. Se il popolamento è già stato interrotto, non viene visualizzato alcun avviso.
Rebuild
Ricostruisce il catalogo specificato in fulltext_catalog_name. Quando viene ricostruito 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 ricostruzione reimposta i metadati full-text nelle tabelle di sistema del database.
Se il rilevamento delle modifiche è impostato su OFF, la ricostruzione non comporta il popolamento del catalogo full-text appena creato. In tal caso, per ripetere il popolamento eseguire sp_fulltext_catalog con l'azione start_full o start_incremental.
[ @path=] 'root_directory'
Directory radice (non percorso fisico completo) per un'azione create. root_directory è di tipo nvarchar(100) e il valore predefinito è NULL, ovvero viene utilizzato il percorso predefinito specificato durante l'installazione. Si tratta della sottodirectory Ftdata della directory Mssql, ad esempio C:\Programmi\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\FTData. La directory radice specificata deve trovarsi in un'unità dello stesso computer, non deve corrispondere alla sola lettera dell'unità e non può essere un percorso relativo. Le unità di rete, le unità rimovibili, i dischi floppy e i percorsi in formato UNC non sono supportati. È necessario creare i cataloghi full-text in un'unità disco rigido locale associata a un'istanza di SQL Server.@path è valido solo quando action corrisponde a create. Per le azioni diverse da create, quali stop, rebuild e così via, @path deve essere NULL oppure deve essere omesso.
Se l'istanza di SQL Server è un server virtuale in un cluster, la directory di catalogo specificata deve trovarsi in un'unità disco condivisa dalla quale dipende la risorsa di SQL Server. Se si omette @path, la posizione della directory predefinita del catalogo corrisponde all'unità disco condivisa nella directory specificata durante l'installazione del server virtuale.
Valori dei codici restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nessuno
Osservazioni
L'azione start_full viene utilizzata per creare uno snapshot completo dei dati full-text nel catalogo fulltext_catalog_name. L'azione start_incremental viene utilizzata per ripetere l'indicizzazione solo delle righe modificate del database. Il popolamento completo può essere applicato solo se la tabella contiene una colonna di tipo timestamp. Se una tabella nel catalogo full-text non include una colonna di tipo timestamp, viene eseguito un popolamento completo sulla tabella.
I dati dell'indice e del catalogo full-text vengono archiviati in file creati in una directory di catalogo full-text. Tale directory viene creata come sottodirectory della directory specificata in @path oppure nella directory di catalogo full-text predefinita del server, se @path non viene specificato. Il nome della directory di catalogo full-text viene creato in modo che sia univoco nel server. Le varie directory di catalogo full-text di un server pertanto possono condividere lo stesso percorso.
Autorizzazioni
Il chiamante deve essere membro del ruolo db_owner. In base all'azione richiesta, al chiamante deve essere concessa l'autorizzazione ALTER o CONTROL (disponibile per il ruolo db_owner) per il catalogo full-text di destinazione.
Esempi
A. Creazione di un catalogo full-text
Nell'esempio seguente viene creato il catalogo full-text vuoto Cat_Desc nel database AdventureWorks.
USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';
GO
B. Ricostruzione di un catalogo full-text
Nell'esempio seguente viene ricostruito il catalogo full-text esistente Cat_Desc nel database AdventureWorks.
USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO
C. Avvio del popolamento di un catalogo full-text
Nell'esempio seguente viene avviato il popolamento completo del catalogo Cat_Desc.
USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO
D. Interruzione del popolamento di un catalogo full-text
Nell'esempio seguente viene interrotto il popolamento del catalogo Cat_Desc.
USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';
GO
E. Rimozione di un catalogo full-text
Nell'esempio seguente viene rimosso il catalogo Cat_Desc.
USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';
GO
Cronologia modifiche
Aggiornamento del contenuto |
---|
Modifica della descrizione dell'azione rebuild. |