SQL 全文索引未填充

Sam*_*Sam 5 full-text-search sql-server full-text-catalog

我们在 Windows 2008 上安装了集群 SQL 2005 安装,并从另一台机器重新连接我们的 san 驱动器并恢复以迁移到新硬件。有一些小问题,但这个问题让我陷入困境。

尝试填充全文索引不起作用。我在新数据库中创建了一个包含一些简单文本的基本表,并获得与旧索引相同的结果。

2010-09-27 10:30:46.85 spid19s     Informational: Full-text Full population initialized for table or indexed view '[SQL_DBA].[dbo].[CIS_Report_Executions]' (table or indexed view ID '1767677345', database ID '5'). Population sub-tasks: 1.
2010-09-27 10:31:15.36 spid19s     Error '0x80070003' occurred during full-text index population for table or indexed view '[SQL_DBA].[dbo].[CIS_Report_Executions]' (table or indexed view ID '1767677345', database ID '5'), full-text key value 0x000001DF. Attempt will be made to reindex it.
2010-09-27 10:31:15.37 spid19s     The component 'MSFTE.DLL' reported error while indexing. Component path 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\MSFTE.DLL'.
2010-09-27 10:31:15.37 spid19s     Error '0x80070003' occurred during full-text index population for table or indexed view '[SQL_DBA].[dbo].[CIS_Report_Executions]' (table or indexed view ID '1767677345', database ID '5'), full-text key value 0x000001E0. Attempt will be made to reindex it.
Run Code Online (Sandbox Code Playgroud)

重建/重新填充过程完成,但我在索引中得到零行。消息中的 .dll 存在并且服务帐户可以访问它。我的 FTData 也有数据,所以这个文件夹似乎没有权限问题。

应用程序抛出此错误:

“PHP 警告:mssql_query() [function.mssql-query]:消息:全文目录‘ikm_PageIndex_FText’处于不可用状态。删除并重新创建此全文目录。(严重性 16)在 E:\Inetpub\knowledgebase_insidemesa\lib\database\mssql.php 中的第 154 行”

微软讨论是我发现的唯一声称修复此问题的帖子 - 说它与注册表相关,但没有发布修复程序。

Nic*_*ias 0

来自MSDN:

DirectoryNotFoundException 使用 HRESULT COR_E_DIRECTORYNOTFOUND,其值为 0x80070003。请注意,当 COM 互操作程序看到 HRESULT STG_E_PATHNOTFOUND(其值为 0x80030003)时,也会引发 DirectoryNotFoundException。

0x80070003表示找不到该目录。当 FTC 连接到另一个数据库服务器时,其原始位置可能已更改。修复路径或删除并重新创建全文目录和全文索引。SSMS 应该允许您轻松编写索引脚本。