SQL 服务器条件全文索引创建
SQL Server conditional full text index creation
尽管有 IF 子句,但当服务器实例不支持全文搜索时,以下查询失败。有谁知道,为什么会发生以及如何实现这种条件索引创建?
IF ((select SERVERPROPERTY('IsFullTextInstalled')) = 1)
CREATE FULLTEXT INDEX
ON dbo.FulltextSearchIntermediates(
[ContentUnderstand] LANGUAGE 1049
)
KEY INDEX [PK_dbo.FulltextSearchIntermediates] ON QuestionsFTS
错误信息是:
"Full-Text Search is not installed, or a full-text component cannot be loaded."
这可能意味着它在编译时失败,因此如果未安装全文,您需要阻止 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'
尽管有 IF 子句,但当服务器实例不支持全文搜索时,以下查询失败。有谁知道,为什么会发生以及如何实现这种条件索引创建?
IF ((select SERVERPROPERTY('IsFullTextInstalled')) = 1)
CREATE FULLTEXT INDEX
ON dbo.FulltextSearchIntermediates(
[ContentUnderstand] LANGUAGE 1049
)
KEY INDEX [PK_dbo.FulltextSearchIntermediates] ON QuestionsFTS
错误信息是:
"Full-Text Search is not installed, or a full-text component cannot be loaded."
这可能意味着它在编译时失败,因此如果未安装全文,您需要阻止 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'