2012-05-04 4 views

ответ

8

Вы можете попробовать использовать функцию 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

Итак, 0 действительно хорош в этом случае? –

+0

Эти значения возможны в этом случае? '0' и' NULL'? –

+1

Извините, я пару раз отредактировал ответ, поэтому я не знаю, на какую ревизию вы ссылаетесь. Но согласно [MSDN] (http://msdn.microsoft.com/en-us/library/ms174968%28v=sql.90%29.aspx): 0 - нет полнотекстовой индексации, 1 - полнотекстовое индексирование, ошибка NULL , –

0

Я думаю, что последний пример из ответа на this question может помочь. Однако я его не тестировал.

+0

Если я правильно его читаю, этот ответ касается ** таблицы ** вместо ** колонки **. –

+0

По крайней мере, это часть ответа; если в таблице нет «TableHasActiveFulltextIndex», для столбца невозможно иметь один. –

+0

@ KeesC.Bakker: Хм, вы правы ... Возможно, вы можете использовать некоторые части общих запросов, перечисленных здесь: http://stackoverflow.com/questions/765867/list-of-all-index- index-columns-in-sql-server-db –

5

Вы можете попробовать что-то вроде этого:

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 

Если вам необходимо ограничить его в данной таблице, используйте:

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

Сладкий, что работает. Но, похоже, Christian.K имеет меньший ответ. –

+2

Я предпочитаю этот ответ, так как он показывает все столбцы с полным текстом с идентификатором столбца. Это позволяет вам запускать что-то вроде 'SELECT display_term, column_id, document_count FROM sys.dm_fts_index_keywords (DB_ID ('DB_NAME'), OBJECT_ID ('TABLE_NAME')) order by document_count desc', чтобы показать все термины и где они находятся индексируются. – webnoob

Смежные вопросы