SQL Server 2005 でビューにフルテキスト インデックスを作成する際に問題があります。ドキュメントを確認しましたが、問題は見つかりませんでした。表示されるエラー メッセージは次のとおりです。非決定論的または不正確な非永続化計算列で定義されておらず、最大サイズは 900 バイトです。フルテキスト キーには別のインデックスを選択してください。」「オフライン」要件を除いて、エラー文字列のすべての要件を確認できましたが、それが何を意味するのかよくわかりません。私はそれがオフラインではないことを確信しています。
以下のターゲットテーブル、ビュー、およびインデックスを作成するスクリプトがあります。以下のサンプルでは、実際にはビューは必要ありません。問題を切り分けようとして簡略化されています。
DROP VIEW [dbo].[ProductSearchView]
DROP TABLE [dbo].[Product2]
行く
NUMERIC_ROUNDABORT をオフに設定します。
SET ANSI_PADDING、ANSI_WARNINGS、CONCAT_NULL_YIELDS_NULL、ARITHABORT、
QUOTED_IDENTIFIER、ANSI_NULLS オン;
行く
CREATE TABLE [dbo].[Product2](
[ID] [bigint] NOT NULL,
[説明] [nvarchar](最大) NULL,
制約 [PK_Product2] クラスター化された主キー
(
[同上]ASC
)WITH (PAD_INDEX = オフ、IGNORE_DUP_KEY = オフ) オン [プライマリ]
) オン [プライマリ]
行く
CREATE VIEW [dbo].[ProductSearchView] WITH SCHEMABINDING
なので
P.Id を Id として選択し、
P.Description AS フィールド
FROM [dbo].Product2 AS P
行く
-- PK が設定されている場合、このインデックスはやり過ぎかもしれません...
一意のクラスタ化インデックス PK_ProductSearchView を [dbo].[ProductSearchView](Id) に作成します
行く
-- これは失敗するコマンドです
CREATE FULLTEXT INDEX ON [dbo].[ProductSearchView](Id, Field)
キー インデックス ID
CHANGE_TRACKING AUTO を使用したフルテキストの場合。
行く