全文索引和数据表同步错误
在不少情况下,客户要求在Dynamics AX中实现全文搜索的功能,比如在零售行业,客户信息量庞大,为了提高搜索效率,不得不采用全文搜索。
要实现全文搜索,就需要在数据表上创建全文索引,之后才能用CONTAINS和CONTAINSTABLE这样的SQL语句进行查询。然而,一旦数据表创建了全文索引以后,在Dynamics AX中就无法进行数据表同步,同步时出现如下错误信息:
简单地说,数据表创建全文索引的时候,需要使用一个Unique字段来创建一个Unique索引(Unique Index),SQL Server将会用到这个Unique Index和一个创建好的Catalog来启用全文索引功能。这个Unique Index的创建并不是在Dynamics AX中完成的,而是直接在数据库上完成的。这样一来,在数据表进行同步的时候,就会试图去删掉这个额外的索引,而如果在数据表上创建了全文索引的话,是没有办法直接删掉这个Unique Index的。因此也就出现了上面的错误。
如果真的需要正确地进行数据表同步操作,则应该将全文索引功能关闭,可以直接到数据库中,选择需要同步的数据表,然后单击右键,使用下面的菜单关闭全文索引功能,最后再到Dynamics AX中同步数据表即可。