SQL Server 2008 R2(64位) - Service Pack 2 - UC5找不到Adobe的iFilter 11.0

时间:2013-03-12 18:40:53

标签: sql-server sql-server-2008-r2 ifilter

重建包含带有存储PDF的表的目录时,我收到以下错误(它适用于Word文档)。

  

警告:在全文索引期间未找到适当的过滤器   表或索引视图的人口'[测试]。[dbo]。[表1]'(表格   或索引视图ID'2105058535',数据库ID'6'),全文键值   '911'。该行的某些列未编入索引。

我按照Adobe的安装程序运行了以下命令:

EXEC sp_fulltext_service @action='load_os_resources', @value=1; -- update os resources 
EXEC sp_fulltext_service 'verify_signature', 0 -- don't verify signatures 
EXEC sp_fulltext_service 'update_languages'; -- update language list 
EXEC sp_fulltext_service 'restart_all_fdhosts'; -- restart daemon 
EXEC sp_help_fulltext_system_components 'filter'; -- view active filters

最后一个确实返回正确的过滤路径:

filter .pdf E8978DA6-047F-4E3D-9C78-CDBE46041603 C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin\PDFFilter.dll 11.0.1.36 Adobe Systems, Inc.

我已将路径添加到C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin\并验证其有效。

我重新启动了服务(甚至重启了机器)。我还通过运行Windows SDK附带的filtdump.exe来验证过滤器是否在SQL Server 2008 R2的外部工作。

此外,我已重新配置sql server服务,因此它们使用管理员帐户运行(如果问题与权限相关)。

最后,我尝试了几台机器(一些运行SP1)和相同的结果。注册DLL没有问题... SQL Server根本不调用过滤器。请注意,我已尝试将文档上传到具有“未知”扩展名的同一个表格(例如“.xyz”),我得到相同的结果......就像“.pdf”是未注册的扩展名(但是它是)。

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

在尝试解决此问题时,我遇到了各种奇怪的问题。解决方案是授予adobe iFilter dll bin目录对SQL Server数据库引擎服务帐户的完全访问权限。

我的测试用Adobe 9.0完成。我们尝试了第一个Adobe Pdf 11过滤器没有运气,重新安装Adobe Pdf 9,没有运气,重新安装SQL Server 2008r2 + sp2 + Adob​​e Pdf没有运气。

我重建了目录,而不是工作。最后,当你评论SQL Server没有调用Dll的可能性时,我怀疑存在访问权限问题。通过授予上述权限,它可以工作。

也许这会使Adobe PDF 11工作,但要注意纠正版本11的路径。