2012-05-04 8 views

risposta

8

Si potrebbe provare a utilizzare la funzione COLUMNPROPERTY().

DECLARE @value INT; 
SELECT @value = COLUMNPROPERTY(OBJECT_ID('schema.table'), 'column_name', 'IsFulltextIndexed') 

IF (@value = 1) 
    PRINT 'Fulltext column' 
ELSE 
    PRINT 'No Fulltext column' 
+0

Quindi 0 è effettivamente buono in questo caso? –

+0

Questi valori sono possibili in questo caso? '0' e' NULL'? –

+1

Mi dispiace, ho modificato la risposta un paio di volte, quindi non so a quale revisione ti riferisci. Ma secondo [MSDN] (http://msdn.microsoft.com/en-us/library/ms174968%28v=sql.90%29.aspx): 0 - nessuna indicizzazione di testo completo, 1 - indicizzazione di testo completo, NULL - errore . –

0

Credo che l'ultimo esempio dalla risposta alla this question potrebbe aiutare. Non l'ho provato, però.

+0

Se sto leggendo correttamente, quella risposta riguarda la ** tabella ** invece della ** colonna **. –

+0

Almeno è una parte della risposta; se la tabella non ha 'TableHasActiveFulltextIndex', è impossibile che la colonna ne abbia una. –

+0

@ KeesC.Bakker: Hm, hai ragione ... Forse puoi utilizzare alcune parti delle query generiche elencate qui: http://stackoverflow.com/questions/765867/list-of-all-index- index-columns-in-sql-server-db –

5

si può provare qualcosa di simile:

SELECT * 
FROM sys.columns c 
INNER JOIN sys.fulltext_index_columns fic ON c.object_id = fic.object_id 
              AND c.column_id = fic.column_id 

Se è necessario limitarla a una determinata tabella, utilizzare questo:

SELECT * 
FROM sys.columns c 
INNER JOIN sys.fulltext_index_columns fic ON c.object_id = fic.object_id 
              AND c.column_id = fic.column_id 
WHERE c.object_id = OBJECT_ID('YourTableNameHere') 
+0

Dolce, funziona. Ma sembra Christian.K ha una risposta più piccola. –

+2

Preferisco questa risposta in quanto mostra tutte le colonne indicizzate full-text con l'ID della colonna. Ciò consente di eseguire qualcosa come 'SELECT display_term, column_id, document_count FROM sys.dm_fts_index_keywords (DB_ID ('DB_NAME'), OBJECT_ID ('TABLE_NAME')) ordine da document_count desc' per mostrare tutti i termini e dove sono indicizzato. – webnoob

Problemi correlati