トップ回答者
SQL Server 2008 expless でvarbinary(max) 列にフルテキストインデックス設定ができない

質問
回答
-
こんにちは、nagino です。型列を指定していないのでは無いでしょうか。型列については、以下のページ中ほどの「メモ」の下に記載があります。CREATE FULLTEXT INDEX で作成している場合は、TYPE COLUMN を指定してください。SQL Server Management Studio のフルテキストインデックス作成ウィザードで作成している場合は、データ型列を指定してください。(未確認ですが、SQL Server Management Studio Express にはこの機能は無いかもしれません)
MCITP(Database Developer/Database Administrator)- 回答としてマーク 菊地俊介 2009年8月31日 8:45
-
エラーメッセージの通り、TYPE COLUMN 句で 260 バイト以下の文字列型の列を指定しても発生するのでしょうか?実際に行った操作が示されていないのでなんとも分かりませんが、CREATE FULLTEXT INDEX 文に文法ミスが無いか、確認してみたらいかがでしょうか。
ちなみに、手元の環境(SQL Server 2008)でわざと TYPE COLUMN 句に varbinary(max) の列を指定したりすると同様のエラーが発生するようですが、さすがにそれは無いですよね・・・。Express Edition の環境が手元に無いので、もし出来ないのであれば Express Edition の制限かもしれませんね。
MCITP(Database Developer/Database Administrator)- 回答としてマーク 菊地俊介 2009年8月31日 8:45
すべての返信
-
こんにちは、nagino です。型列を指定していないのでは無いでしょうか。型列については、以下のページ中ほどの「メモ」の下に記載があります。CREATE FULLTEXT INDEX で作成している場合は、TYPE COLUMN を指定してください。SQL Server Management Studio のフルテキストインデックス作成ウィザードで作成している場合は、データ型列を指定してください。(未確認ですが、SQL Server Management Studio Express にはこの機能は無いかもしれません)
MCITP(Database Developer/Database Administrator)- 回答としてマーク 菊地俊介 2009年8月31日 8:45
-
ご回答ありがとうございます。
データ整列の指定ができていませんでした。
SQL Server Management Studio Express でデータ整列を指定する場所がありませんでした。
そのため、CREATE FULLTEXT INDEXにて指定しようとすると次のメッセージが出ます。
「列 'column_name' を image 列のフルテキスト型の列として使用できません。この列は、サイズが 260 文字以下の文字ベースの列にしてください。」
もしかして、varbinary(max) でのフルテキストインデックスはSQL Server 2008 explessの制限なのでしょうか? -
エラーメッセージの通り、TYPE COLUMN 句で 260 バイト以下の文字列型の列を指定しても発生するのでしょうか?実際に行った操作が示されていないのでなんとも分かりませんが、CREATE FULLTEXT INDEX 文に文法ミスが無いか、確認してみたらいかがでしょうか。
ちなみに、手元の環境(SQL Server 2008)でわざと TYPE COLUMN 句に varbinary(max) の列を指定したりすると同様のエラーが発生するようですが、さすがにそれは無いですよね・・・。Express Edition の環境が手元に無いので、もし出来ないのであれば Express Edition の制限かもしれませんね。
MCITP(Database Developer/Database Administrator)- 回答としてマーク 菊地俊介 2009年8月31日 8:45