SQL Server条件全文索引创建

时间:2015-04-21 13:49:11

标签: sql-server indexing

当服务器实例不支持全文搜索时,查询失败,尽管有IF子句。有谁知道,为什么会发生以及如何实现这样的条件索引创建?

IF ((select SERVERPROPERTY('IsFullTextInstalled')) = 1)
    CREATE FULLTEXT INDEX 
      ON dbo.FulltextSearchIntermediates(
        [ContentUnderstand] LANGUAGE 1049
        ) 
      KEY INDEX [PK_dbo.FulltextSearchIntermediates] ON QuestionsFTS

错误信息是:

  

"未安装全文搜索,或无法加载全文组件。"

1 个答案:

答案 0 :(得分:0)

这可能意味着它在编译时失败了,所以如果没有安装完整文本,你需要让sql不要尝试编译。

declare @sql varchar(max)

set @sql = 'CREATE FULLTEXT INDEX 
      ON dbo.salesforcecontact(
        [LastName] LANGUAGE 1049
        ) 
      KEY INDEX [PK_dbo.FulltextSearchIntermediates] ON LastName'

IF ((select SERVERPROPERTY('IsFullTextInstalled')) = 1)
    exec sp_executesql '@sql'