2012-05-04 12 views

Respuesta

8

Usted podría tratar de usar la función 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

Entonces, ¿0 es realmente bueno en este caso? –

+0

¿Que valores son posibles en este caso? '0' y' NULL'? –

+1

Lo siento, he editado la respuesta un par de veces, por lo que no sé a qué revisión se refiere. Pero de acuerdo con [MSDN] (http://msdn.microsoft.com/en-us/library/ms174968%28v=sql.90%29.aspx): 0 - sin indexación de texto completo, 1 - indexación de texto completo, NULL - error . –

0

creo que el último ejemplo de la respuesta a this question podría ayudar. No lo he probado, sin embargo.

+0

Si lo estoy leyendo correctamente, esa respuesta es sobre ** tabla ** en lugar de ** columna **. –

+0

Al menos es parte de la respuesta; si la tabla no tiene 'TableHasActiveFulltextIndex', es imposible que la columna tenga una. –

+0

@ KeesC.Bakker: Hm, tienes razón ... Tal vez puedas hacer uso de algunas partes de las consultas genéricas enumeradas aquí: http://stackoverflow.com/questions/765867/list-of-all-index- index-columns-in-sql-server-db –

5

Usted puede intentar algo como esto:

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 

Si tiene que limitar a una tabla dada, utilice la siguiente:

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

Dulce, eso funciona. Pero parece Christian.K tiene una respuesta más pequeña. –

+2

Prefiero esta respuesta, ya que muestra todas las columnas indexadas de texto completo junto con la ID de la columna. Esto le permite ejecutar algo como 'SELECT display_term, column_id, document_count FROM sys.dm_fts_index_keywords (DB_ID ('DB_NAME'), OBJECT_ID ('TABLE_NAME')) ordena por document_count desc' para mostrar todos los términos y dónde están indexado. – webnoob

Cuestiones relacionadas