Condividi tramite


sp_fulltext_table (Transact-SQL)

Contrassegna una tabella per l'indicizzazione full-text oppure elimina tale contrassegno.

ms187960.note(it-it,SQL.90).gifImportante:
Questa funzionalità verrà rimossa in 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 le nuove istruzioni DDL (Data Definition Language) full-text. Per ulteriori informazioni, vedere gli argomenti CREATE, ALTER e DROP FULLTEXT INDEX.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_fulltext_table 
   [ @tabname= ] 'qualified_table_name'         
      , [ @action= ] 'action' 
   [ 
      , [ @ftcat= ] 'fulltext_catalog_name'         
      , [ @keyname= ] 'unique_index_name' 
   ]

Argomenti

[ @tabname=] 'qualified_table_name'

Nome della tabella composto da una o due parti. La tabella deve esistere nel database corrente. qualified_table_name è di tipo nvarchar(517) e non prevede alcun valore predefinito.

[ @action=] 'action'

Azione che si desidera eseguire. action è di tipo varchar(50) e non prevede alcun valore predefinito. I possibili valori sono i seguenti.

Valore Descrizione

Create

Crea i metadati di un indice full-text per la tabella qualified_table_name e specifica che i dati dell'indice full-text per questa tabella vengano inseriti nel catalogo fulltext_catalog_name. Questa azione imposta inoltre l'utilizzo dell'indice unique_index_name come colonna chiave full-text. Questo indice univoco deve essere già presente e definito in una colonna della tabella.

Nella tabella sarà possibile eseguire una ricerca full-text solo dopo il popolamento del catalogo full-text.

Drop

Elimina i metadati dell'indice full-text per la tabella qualified_table_name. Se l'indice full-text è attivo, viene disattivato automaticamente prima dell'eliminazione. Non è necessario rimuovere le colonne prima di eliminare l'indice full-text.

Activate

Attiva la possibilità di raccogliere i dati dell'indice full-text per la tabella qualified_table_name. Per poter attivare un indice full-text, è necessario che l'indice includa almeno una colonna.

Un indice full-text viene attivato automaticamente per il popolamento non appena si aggiunge la prima colonna per l'indicizzazione. Se si elimina l'ultima colonna dell'indice, l'indice diventa inattivo. Se il rilevamento delle modifiche è attivato, l'attivazione di un indice non attivo comporta l'avvio di un nuovo processo di popolamento.

L'indice full-text in realtà non viene popolato, ma viene semplicemente registrata la tabella del catalogo full-text nel file system in modo che le righe della tabella qualified_table_name possano essere recuperate durante la successiva operazione di popolamento dell'indice full-text.

Deactivate

Disattiva l'indice full-text per la tabella qualified_table_name in modo che non sia possibile raccogliere i dati dell'indice per la tabella qualified_table_name. I metadati dell'indice full-text tuttavia vengono conservati e la tabella può essere riattivata.

Se il rilevamento delle modifiche è attivato, la disattivazione di un indice attivo comporta il blocco dello stato dell'indice, ovvero vengono interrotti i processi di popolamento in corso e la distribuzione delle modifiche nell'indice.

start_change_tracking

Avvia un popolamento incrementale dell'indice full-text. Se la tabella non include una colonna di tipo timestamp, viene avviato un popolamento completo dell'indice full-text e il rilevamento delle modifiche apportate alla tabella.

Il rilevamento delle modifiche full-text non tiene traccia delle operazioni WRITETEXT o UPDATETEXT eseguite su colonne indicizzate full-text di tipo image, text o ntext.

stop_change_tracking

Interrompe il rilevamento delle modifiche apportate alla tabella.

update_index

Propaga nell'indice full-text il set di modifiche rilevate.

Start_background_updateindex

Avvia la propagazione delle modifiche rilevate nell'indice full-text.

Stop_background_updateindex

Interrompe la propagazione delle modifiche rilevate nell'indice full-text.

start_full

Avvia un popolamento completo dell'indice full-text per la tabella.

start_incremental

Avvia un popolamento incrementale dell'indice full-text per la tabella.

Stop

Interrompe un popolamento completo o incrementale.

[ @ftcat=] 'fulltext_catalog_name'

Nome di catalogo full-text esistente valido per un'azione create. Per tutte le altre azioni questo parametro deve essere NULL. fulltext_catalog_name è di tipo sysname e il valore predefinito è NULL.

[ @keyname=] 'unique_index_name'

Indice univoco valido non Null, su una colonna a chiave singola, nella tabella qualified_table_name per un'azione create. Per tutte le altre azioni questo parametro deve essere NULL. unique_index_name è di tipo sysname e il valore predefinito è NULL.

Set di risultati

Nessuno

Osservazioni

Dopo la disattivazione di un indice full-text per una determinata tabella, l'indice full-text esistente è disponibile fino al successivo popolamento completo. Questo indice tuttavia non viene utilizzato, in quanto le query sulle tabelle disattivate vengono bloccate da Microsoft SQL Server.

Se la tabella viene riattivata e l'indice non viene ripopolato, l'indice precedente rimane disponibile per le query nelle colonne full-text attivate rimanenti, escluse quelle nuove. I dati provenienti da colonne eliminate vengono recuperati nelle query che specificano una ricerca su tutte le colonne full-text.

Dopo avere definito una tabella per l'indicizzazione full-text, se si imposta un tipo di dati diverso nella colonna chiave univoca full-text tramite la modifica del tipo di dati della colonna o l'impostazione della chiave univoca full-text su un'altra colonna senza eseguire un popolamento completo, potrebbe verificarsi un errore durante le query successive. In questo caso viene visualizzato il messaggio di errore: "Impossibile eseguire la conversione al tipo data_type per il valore della chiave di ricerca full-text key_value." Per evitare che si verifichi questa situazione, eliminare la definizione full-text per la tabella tramite l'azione drop di sp_fulltext_table e ridefinirla tramite sp_fulltext_table e sp_fulltext_column.

Il valore massimo definito per le dimensioni della colonna chiave full-text deve essere 900 byte. È consigliabile che le dimensioni della colonna chiave siano ridotte al massimo per motivi di prestazioni.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_ddladmin, oppure un utente con autorizzazioni di riferimento sul catalogo full-text possono eseguire sp_fulltext_table.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

A. Abilitazione di una tabella per l'indicizzazione full-text

Nell'esempio seguente vengono creati i metadati di un indice full-text per la tabella Document del database AdventureWorks. Cat_Desc è un catalogo full-text. PK_Document_DocumentID è un indice univoco a colonna singola nella tabella Document.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'create', 'Cat_Desc', 'PK_Document_DocumentID';
--Add some columns
EXEC sp_fulltext_column 'Production.Document','DocumentSummary','add';
-- Activate the full-text index
EXEC sp_fulltext_table 'Production.Document','activate';
GO

B. Attivazione e propagazione delle modifiche rilevate

Nell'esempio seguente viene attivata e avviata la propagazione delle modifiche rilevate nell'indice full-text, man mano che si verificano.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'Start_change_tracking';
EXEC sp_fulltext_table 'Production.Document', 'Start_background_updateindex';
GO

C. Rimozione di un indice full-text

In questo esempio vengono rimossi i metadati di un indice full-text per la tabella Document del database AdventureWorks.

USE AdventureWorks;
GO
EXEC sp_fulltext_table 'Production.Document', 'drop';
GO

Vedere anche

Riferimento

INDEXPROPERTY (Transact-SQL)
OBJECTPROPERTY (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
sp_helpindex (Transact-SQL)
Stored procedure di sistema (Transact-SQL)
Stored procedure per ricerche full-text (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005