我需要修改一个列定义,但我想先检查该列是否启用了全文搜索。是否有办法在TSQL脚本中进行此类检查?
我正在使用SQL Server 2005。
我需要修改一个列定义,但我想先检查该列是否启用了全文搜索。是否有办法在TSQL脚本中进行此类检查?
我正在使用SQL Server 2005。
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
和NULL
? - Kees C. Bakker你可以尝试类似这样的做法:
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')
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