sp_fulltext_column (Transact-SQL)
Specifica se una determinata colonna di una tabella viene inclusa o meno nell'indicizzazione full-text.
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 ALTER FULLTEXT INDEX. |
Sintassi
sp_fulltext_column [ @tabname= ] 'qualified_table_name' ,
[ @colname= ] 'column_name' ,
[ @action= ] 'action'
[ , [ @language= ] 'language_term' ]
[ , [ @type_colname= ] 'type_column_name' ]
Argomenti
[ @tabname= ] 'qualified_table_name'
Nome della tabella composto da una o due parti. La tabella deve esistere nel database corrente e includere un indice full-text. qualified_table_name è di tipo nvarchar(517) e non prevede alcun valore predefinito.[ @colname= ] 'column_name'
Nome di colonna in qualified_table_name. Deve essere una colonna di tipo carattere, varbinary(max) o image e non deve essere calcolata. column_name è di tipo sysname e non prevede alcun valore predefinito.[!NOTA]
SQL Server supporta la creazione di indici full-text dei dati di testo archiviati nelle colonne di tipo varbinary(max) o image. Le immagini non vengono indicizzate.
[ @action= ] 'action'
Azione da eseguire. action è di tipo varchar(20) e non prevede alcun valore predefinito. I possibili valori sono i seguenti.Valore
Descrizione
add
Aggiunge column_name di qualified_table_name all'indice full-text inattivo della tabella. Questa azione abilita la colonna per l'indicizzazione full-text.
drop
Rimuove column_name di qualified_table_name dall'indice full-text inattivo della tabella.
[ @language= ] 'language_term'
Lingua dei dati archiviati nella colonna. Per un elenco delle lingue incluse in SQL Server, vedere sys.fulltext_languages (Transact-SQL).[!NOTA]
Se una colonna include dati in lingue diverse o in una lingua non supportata, utilizzare la lingua neutra. Il valore predefinito è specificato nell'opzione di configurazione "default full-text language".
[ @type_colname = ] 'type_column_name'
Nome della colonna in qualified_table_name contenente il tipo di documento di column_name. Tale colonna deve essere di tipo char, nchar, varchar o nvarchar. Viene utilizzato solo quando column_name è di tipo varbinary(max) o image. type_column_name è di tipo sysname e non prevede alcun valore predefinito.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nessuno
Osservazioni
Se l'indice full-text è attivo, l'eventuale processo di popolamento in corso viene interrotto. Inoltre, se in una tabella con indice full-text attivo è abilitato il rilevamento delle modifiche, SQL Server assicura che l'indice sia aggiornato. Ad esempio, SQL Server interrompe l'eventuale processo di popolamento in corso nella tabella, elimina l'indice esistente e avvia un nuovo popolamento.
Se il rilevamento delle modifiche è attivato e devono essere aggiunte o eliminate colonne dall'indice full-text conservando tuttavia l'indice, è necessario disattivare la tabella, quindi aggiungere ed eliminare le colonne appropriate. In seguito a queste azioni l'indice viene bloccato. È quindi possibile attivare la tabella in un momento successivo, quando è opportuno avviare un processo di popolamento.
Autorizzazioni
L'utente deve essere membro del ruolo predefinito del database db_ddladmin o db_owner, oppure il proprietario della tabella.
Esempi
Nell'esempio seguente la colonna DocumentSummary della tabella Document viene aggiunta all'indice full-text della tabella.
USE AdventureWorks;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO
Nell'esempio seguente si presuppone che sia stato creato un indice full-text nella tabella spanishTbl. Per aggiungere la colonna spanishCol all'indice full-text, eseguire la stored procedure seguente:
EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO
Quando si esegue la seguente query:
SELECT *
FROM spanishTbl
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')
Il set di risultati deve includere le righe contenenti forme diverse del verbo spagnolo trabajar (lavorare), ad esempio trabajo, trabajamos e trabajan.
[!NOTA]
È necessario che in tutte le colonne elencate in una singola clausola di funzione per query full-text sia applicata la stessa lingua.
Vedere anche