我的是2008的sql serverexec sp_fulltext_database 'enable'
--exec sp_fulltext_catalog 'gf_ft','drop'
exec sp_fulltext_catalog 'gf_ft','create'exec sp_fulltext_table 'bas_usrinfo','create','gf_ft','pk_product'
exec sp_fulltext_column 'bas_usrinfo','uid','add'报错:消息 7653,级别 16,状态 1,第 1 行
'pk_product' 不是可强制使用全文搜索键的有效索引。全文搜索键必须是唯一的、不可为 Null 的单列索引,并且该索引不是脱机的,不是在不确定的或不精确的非持久化计算列上定义的,没有筛选器,且最大大小为 900 个字节。请为全文键选择其他索引。
我照着下面的说法
在MS SQL SERVER 2005里,全文索引是一个单独的服务项,默认是启动的,但是没有允许数据库启用全文索引,如果要在某个数据库中创建全文索引,先要启用数据库的全文索引.
      启用方法:
      1.数据库->属性->常规->启用全文索引
      2.在查询中执行:sp_.........忘了,如果没有启用就执行创建索引目录,会提示. 
但是在2008里,右键数据库,属性,常规 里没有“启用全文索引”之类的东西
我想在db1数据库里的tb1表里的col1列建一个全文索引,应该怎么做?一步一步地,
谢谢

解决方案 »

  1.   

    提示很清楚报错:消息 7653,级别 16,状态 1,第 1 行
    'pk_product' 不是可强制使用全文搜索键的有效索引。全文搜索键必须是唯一的、不可为 Null 的单列索引,并且该索引不是脱机的,不是在不确定的或不精确的非持久化计算列上定义的,没有筛选器,且最大大小为 900 个字节。请为全文键选择其他索引。表'bas_usrinfo'的索引'pk_product'并非主键
    命名比较奇怪,是不是根本就搞错了
      

  2.   

    "全文搜索键必须是唯一的、不可为 Null 的单列索引"感觉这句话有点不通顺,键是索引
      

  3.   

      exec sp_fulltext_database 'enable'
    --exec sp_fulltext_catalog 'gf_ft','drop'
    exec sp_fulltext_catalog 'gf_ft','create'
    exec sp_fulltext_table 'yonghubiao','create','gf_ft','IX_yonghubiao'
    --或者exec sp_fulltext_table 'yonghubiao','create','gf_ft','PK_yonghubiao'
    exec sp_fulltext_column 'yonghubiao','gonghao','add'
    exec sp_fulltext_column 'yonghubiao','xingming','add'
    IX_yonghubiao是我自己建的唯一索引,单列的,PK_yonghubiao是主键
    一个表的全文索引只能有一个。“指定用于此全文索引的列”是什么意思?(右键数据表tb1,设计,右键,全文索引,可以选择多个列),为什么可以选择多个列呢?
    或者右键某个表,全文索引,列,“选择将进行全文索引的合格列”里,为什么可以选择多个列呢?