我需要修改列定义,但我想检查列是否首先启用了全文。有没有办法在TSQL脚本中进行这样的检查?
我正在使用SQL Server 2005。
我需要修改列定义,但我想检查列是否首先启用了全文。有没有办法在TSQL脚本中进行这样的检查?
我正在使用SQL Server 2005。
你可以尝试使用 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'
你可以尝试使用 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'
你可以尝试这样的事情:
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')
我想从答案的最后一个例子 这个问题 可能有帮助。不过,我还没有测试过它。