sp_fulltext_column (Transact-SQL)
Si applica a: SQL Server Azure Synapse Analitica
Specifica se una determinata colonna di una tabella viene inclusa o meno nell'indicizzazione full-text.
Importante
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. In alternativa, usare ALTER FULLTEXT INDEX .
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_fulltext_column
[ @tabname = ] N'tabname'
, [ @colname = ] N'colname'
, [ @action = ] 'action'
[ , [ @language = ] language ]
[ , [ @type_colname = ] N'type_colname' ]
[ ; ]
Argomenti
[ @tabname = ] N'tabname'
Nome di tabella in una o due parti. La tabella deve esistere nel database corrente La tabella deve disporre di un indice full-text. @tabname è nvarchar(517), senza impostazione predefinita.
[ @colname = ] N'colname'
Nome di una colonna in @tabname. La colonna deve essere un carattere, varbinary(max)o image e non può essere una colonna calcolata. @colname è sysname, senza impostazione predefinita.
SQL Server può creare indici full-text di dati di testo archiviati in colonne con tipo di dati varbinary(max) o image . Le immagini e le immagini non vengono indicizzate.
[ @action = ] 'action'
Azione da eseguire. @action è varchar(20), senza impostazione predefinita e può essere uno dei valori seguenti.
valore | Descrizione |
---|---|
add | Aggiunge @colname di @tabname all'indice full-text inattivo della tabella. Questa azione abilita la colonna per l'indicizzazione full-text. |
goccia | Rimuove @colname di @tabname dall'indice full-text inattivo della tabella. |
[ @language = ] lingua
Lingua dei dati archiviati nella colonna. @language è int, con il valore predefinito NULL
. Per un elenco delle lingue incluse in SQL Server, vedere sys.fulltext_languages.
Nota
Usare Neutral
quando una colonna contiene dati in più lingue o in una lingua non supportata. Il valore predefinito è specificato dall'opzione di configurazione del server lingua full-text predefinita.
[ @type_colname = ] N'type_colname'
Nome di una colonna in @tabname che contiene il tipo di documento di @colname. Questa colonna deve essere char, nchar, varchar o nvarchar. Viene usato solo quando il tipo di dati di @colname è di tipo varbinary(max) o image. @type_colname è sysname, con un valore predefinito .NULL
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Nessuno.
Osservazioni:
Se l'indice full-text è attivo, l'eventuale processo di popolamento in corso viene arrestato. Inoltre, se una tabella con un indice full-text attivo è abilitata, SQL Server garantisce che l'indice sia corrente. Ad esempio, SQL Server arresta qualsiasi popolamento corrente 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 membro del ruolo predefinito del database db_owner o del proprietario della tabella.
Esempi
Nell'esempio seguente la colonna DocumentSummary
della tabella Document
viene aggiunta all'indice full-text della tabella.
USE AdventureWorks2022;
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.
Contenuto correlato
- OBJECTPROPERTY (Transact-SQL)
- sp_help_fulltext_columns (Transact-SQL)
- sp_help_fulltext_columns_cursor (Transact-SQL)
- sp_help_fulltext_tables (Transact-SQL)
- sp_help_fulltext_tables_cursor (Transact-SQL)
- Stored procedure di sistema (Transact-SQL)
- Stored procedure di ricerca full-text e ricerca semantica (Transact-SQL)