我在 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 的全文;
去