sp_fulltext_column (Transact-SQL)
適用対象:SQL ServerAzure Synapse Analytics
テーブルの特定の列がフルテキスト インデックス作成に参加するかどうかを指定します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに ALTER FULLTEXT INDEX を使用してください。
構文
sp_fulltext_column
[ @tabname = ] N'tabname'
, [ @colname = ] N'colname'
, [ @action = ] 'action'
[ , [ @language = ] language ]
[ , [ @type_colname = ] N'type_colname' ]
[ ; ]
引数
[ @tabname = ] N'tabname'
1 部構成または 2 部構成のテーブル名。 テーブルは、現在のデータベース内に存在している必要があります。 テーブルにフルテキスト インデックスがある。 @tabnameは nvarchar(517)で、既定値はありません。
[ @colname = ] N'colname'
@tabname内の列の名前。 列は、文字、 varbinary(max)、または イメージである必要があり、計算列にすることはできません。 @colnameは sysname で、既定値はありません。
SQL Server では、varbinary(max) またはイメージ データ型の列に格納されているテキスト データのフルテキスト インデックスを作成できます。 画像と画像はインデックス付けされません。
[ @action = ] 'action'
実行するアクション。 @actionは varchar(20) で、既定値はなく、次のいずれかの値を指定できます。
Value | 説明 |
---|---|
add | テーブルの非アクティブなフルテキスト インデックスに@tabnameの@colnameを追加します。 このアクションにより、列のフルテキスト インデックス作成が有効になります。 |
drop | テーブルの非アクティブなフルテキスト インデックスから@tabnameの@colnameを削除します。 |
[ @language = ] 言語
列に格納されているデータの言語。 @languageは int で、既定値は NULL
. SQL Server に含まれる言語の一覧については、「sys.fulltext_languages (Transact-SQL)」を参照してください。
Note
列に複数の言語またはサポートされていない言語のデータが含まれている場合に使用 Neutral
します。 既定値は、サーバー構成オプション の既定のフルテキスト言語で指定されます。
[ @type_colname = ] N'type_colname'
@colnameのドキュメントの種類を保持する@tabname内の列の名前。 この列は、char、nchar、varchar、または nvarchar である必要があります。 これは、@colnameのデータ型が varbinary(max) または image 型の場合にのみ使用されます。 @type_colnameは sysname で、既定値は NULL
.
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
フルテキスト インデックスがアクティブな場合、進行中の作成はすべて停止されます。 さらに、アクティブなフルテキスト インデックスを持つテーブルで変更の追跡が有効になっている場合、SQL Server はインデックスが最新であることを確認します。 たとえば、SQL Server はテーブルの現在の作成を停止し、既存のインデックスを削除して、新しい作成を開始します。
変更の追跡がオンで、インデックスを保持しながら列をフルテキスト インデックスに追加または削除する必要がある場合は、テーブルを非アクティブ化し、必要な列を追加または削除する必要があります。 この操作では、インデックスは変化しません。 このテーブルは、作成を開始するときに後でアクティブ化できます。
アクセス許可
ユーザーは、db_ddladmin固定データベース ロールのメンバーであるか、固定データベース ロールdb_ownerのメンバーであるか、テーブルの所有者である必要があります。
例
次の例では、DocumentSummary
テーブルの Document
列を、テーブルのフルテキスト インデックスに追加します。
USE AdventureWorks2022;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO
次の例では、spanishTbl
というテーブルにフルテキスト インデックスが作成されていることを前提としています。 列を spanishCol
フルテキスト インデックスに追加するには、次のストアド プロシージャを実行します。
EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO
このクエリを実行する場合:
SELECT *
FROM spanishTbl
WHERE CONTAINS (spanishCol, 'formsof(inflectional, trabajar)');
結果セットには、異なる形式の trabajar
(動作する) 行が含まれます (例: trabajo
,trabajamos
、.trabajan
Note
1 つのフルテキスト クエリ関数句に一覧表示されるすべての列は、同じ言語を使用する必要があります。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示