你的位置:首页 > 数据库

[数据库]SQL Server 问题 1


今天执行SQL Server 2014的full-text search 查询操作:select * from table where contains(summary, 'smith')

报出如下错误:

Msg 30046, Level 16, State 1, Line 1
SQL Server encountered error 0x8007042d while communicating with full-text filter daemon host (FDHost) process. Make sure that the FDHost process is running. To re-start the FDHost process, run the sp_fulltext_service 'restart_all_fdhosts' command or restart the SQL Server instance.

很好,哥哥后来解决了这个问题:

这个问题很可能是因为FTS (FullTextSearch Service) 停用造成的,但是也不是仅仅如此,往下看:

#1, 打开Services的面板,确定下面的Service运行正常

SQL Full-text Filter Daemon Launcher (MSSQLSERVER)

#2,账户的检查

但是,这里我尽管将其成功运行,依旧存在上面的错误报告。经过更多的研究,发现有一个问题:我将SQL Server 运行在一个域账户下,而Fulltext search却不是用的这个账户,可能是默认账户。

所以,我将域账户配置给这个Service, 并重新启动。并在SQL Server里,运行 “ exec sp_fulltext_service 'restart_all_fdhosts' ”. 

并重新构建fulltext search的全文索引,并直线检索操作。 Bingo, 运行良好。