我在 SQL Server 2005 中的视图上创建全文索引时遇到问题。查看文档我没有发现问题。我收到的错误消息是:“'Id' 不是强制执行全文搜索键的有效索引。全文搜索键必须是唯一的、不可为空的、非脱机的单列索引,是未在非确定性或不精确的非持久计算列上定义,最大大小为 900 字节。为全文键选择另一个索引。我已经能够验证错误字符串中的每个要求,除了“离线”要求,我真的不知道这意味着什么。我很确定它没有离线。
我有在下面创建目标表、视图和索引的脚本。我真的不需要下面示例中的视图,因为我试图隔离问题,所以它被简化了。
删除视图 [dbo].[ProductSearchView] 删除表 [dbo].[Product2] 去 设置 NUMERIC_ROUNDABORT 关闭; 设置 ANSI_PADDING、ANSI_WARNINGS、CONCAT_NULL_YIELDS_NULL、ARITHABORT、 QUOTED_IDENTIFIER,ANSI_NULLS ON; 去 创建表 [dbo].[Product2]( [Id] [bigint] 非空, [描述] [nvarchar](max) NULL, 约束 [PK_Product2] 主键集群 ( [编号] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) 开 [主要] 去 使用 SCHEMABINDING 创建视图 [dbo].[ProductSearchView] 作为 选择 P.Id 作为 ID, P.Description AS 字段 FROM [dbo].Product2 AS P 去 - 鉴于设置了 PK,此索引可能会过大... 在 [dbo].[ProductSearchView](Id) 上创建唯一的聚集索引 PK_ProductSearchView 去 -- 这是失败的命令 在 [dbo].[ProductSearchView](Id, Field) 上创建全文索引 关键索引 ID 使用 CHANGE_TRACKING AUTO 的全文; 去