2015-04-21 80 views
0

儘管有IF子句,但當服務器實例不支持全文搜索時,以下查詢失敗。有誰知道,爲什麼會發生,以及如何實現這樣的條件索引創建?創建SQL Server條件全文索引

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

的錯誤信息是:

「全文搜索沒有安裝,或全文組件無法被加載。」

回答

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' 
+0

很酷,這有幫助,謝謝!但它應該是「聲明@sql Nvarchar(max)」 – Aliq