SQL Server 2000全文索引无法填充
一台SQL Server 2000服务器,已经启动了Microsoft Search服务,且可以正常的添加全文索引类别和表,确认也已经在数据库上设置了允许全文索引:select fulltextserviceproperty ('IsFullTextInstalled')
select databaseproperty('edms','isfulltextenabled')
创建全文索引的语句似乎也找不到什么错误:
exec sp_fulltext_database 'enable'
exec sp_fulltext_catalog 'StationAddress', 'create', 'N:\db_files\EDMS'
exec sp_fulltext_table 'tcStation', 'create', 'StationAddress', 'PK_TCSTATION'
exec sp_fulltext_column 'tcStation', 'Address', 'add'
exec sp_fulltext_table 'tcStation','activate'
exec sp_fulltext_catalog 'StationAddress', 'start_full'
但是在企业管理器中选择填充全文索引,提示成功之后,却无法搜索到任何数据:
select * from tcStation where contains(*, '天河')
检查发现对应全文索引分类StationAddress的“项目计数”始终为0,“唯一键计数”之中为1,显然是无数据填充成功;没头绪几天之后才想到看看系统日志,结果发现以下记录 :
无法访问项目 <SQLServer SQL0001200005> 中的爬网起点 <MSSQL75://SQLServer/3da903ec>。错误: 800700e9 - 管道的另一端上无任何进程。
由于没有可访问的爬网起点,无法开始对项目 <SQLServer SQL0001200005> 的爬网操作。请解决此错误并重试。
最终发现解决方法 ,在SQL Server登陆中添加本地管理员组BUILTIN\Administrators可登陆,且服务器角色为“System Administrators”,数据库访问拥有对应数据库的所有者权限。
再次填充全文索引,问题解决,可以睡觉老~~~
小节:该问题可能是由于数据库是采用集群方式安装,默认没有添加该用户组访问权限所致,检查单机安装的都是有的;或者是该帐号被人删除也难说。但是整个过程最郁闷的事情就是操作分明失败,但提示确实成功,虽然M$你老人家设计的是后台异步做填充,但也不要回答得这么干脆呀~~
已有1位网友发表了看法:
发表评论