我们在 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.
重建/重新填充过程已完成,但索引中没有行。消息中的 .dll 存在,并且服务帐户可以访问它。我的 FTData 中也有数据,因此似乎此文件夹不存在权限问题。
应用程序抛出此错误:
“PHP 警告:mssql_query() [function.mssql-query]:消息:全文目录‘ikm_PageIndex_FText’处于不可用状态。删除并重新创建此全文目录。(严重性 16)位于 E:\Inetpub\knowledgebase_insidemesa\lib\database\mssql.php 第 154 行”
我发现微软讨论是唯一一个声称可以修复此问题的帖子 - 说这是与注册表相关的,但没有发布修复程序。
答案1
DirectoryNotFoundException 使用 HRESULT COR_E_DIRECTORYNOTFOUND,其值为 0x80070003。请注意,当 COM 互操作程序看到 HRESULT STG_E_PATHNOTFOUND(其值为 0x80030003)时,也会引发 DirectoryNotFoundException。
0x80070003 表示找不到目录。可能是 FTC 的原始位置在连接到另一台数据库服务器时发生了变化。要么修复路径,要么删除并重新创建全文目录和全文索引。SSMS 应该允许您轻松地编写索引脚本。