Bagikan melalui


sp_fulltext_column (T-SQL)

Berlaku untuk: SQL Server Azure Synapse Analytics

Menentukan apakah kolom tabel tertentu berpartisipasi dalam pengindeksan teks lengkap atau tidak.

Penting

Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan ALTER FULLTEXT INDEX sebagai gantinya.

Konvensi sintaks transact-SQL

Sintaks

sp_fulltext_column
    [ @tabname = ] N'tabname'
    , [ @colname = ] N'colname'
    , [ @action = ] 'action'
    [ , [ @language = ] language ]
    [ , [ @type_colname = ] N'type_colname' ]
[ ; ]

Argumen

[ @tabname = ] N'tabname'

Nama tabel satu bagian atau dua bagian. Tabel harus ada di database saat ini. Tabel harus memiliki indeks teks lengkap. @tabname adalah nvarchar(517), tanpa default.

[ @colname = ] N'colname'

Nama kolom di @tabname. Kolom harus berupa karakter, varbinary(maks), atau gambar, dan tidak dapat menjadi kolom komputasi. @colname adalah sysname, tanpa default.

SQL Server dapat membuat indeks teks lengkap data teks yang disimpan dalam kolom yang berjenis data varbinary(maks) atau gambar . Gambar dan gambar tidak diindeks.

[ @action = ] 'tindakan'

Tindakan yang akan dilakukan. @action adalah varchar(20), tanpa default, dan bisa menjadi salah satu nilai berikut.

Nilai Deskripsi
penambahan Menambahkan @colname @tabname ke indeks teks lengkap tabel yang tidak aktif. Tindakan ini memungkinkan kolom untuk pengindeksan teks lengkap.
menjatuhkan Menghapus @colname @tabname dari indeks teks lengkap tabel yang tidak aktif.

[ @language = ] bahasa

Bahasa data yang disimpan dalam kolom. @language int, dengan default NULL. Untuk daftar bahasa yang disertakan dalam SQL Server, lihat sys.fulltext_languages (Transact-SQL).

Catatan

Gunakan Neutral saat kolom berisi data dalam beberapa bahasa atau dalam bahasa yang tidak didukung. Default ditentukan oleh opsi konfigurasi server bahasa teks lengkap default.

[ @type_colname = ] N'type_colname'

Nama kolom di @tabname yang menyimpan jenis dokumen @colname. Kolom ini harus char, nchar, varchar, atau nvarchar. Ini hanya digunakan ketika jenis data @colname berjenis varbinary(max) atau gambar. @type_colname adalah sysname, dengan default NULL.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

Jika indeks teks lengkap aktif, populasi yang sedang berlangsung akan dihentikan. Selain itu, jika tabel dengan indeks teks lengkap aktif mengaktifkan pelacakan perubahan, SQL Server memastikan bahwa indeks saat ini. Misalnya, SQL Server menghentikan populasi saat ini pada tabel, menghilangkan indeks yang ada, dan memulai populasi baru.

Jika pelacakan perubahan aktif dan kolom perlu ditambahkan atau dihilangkan dari indeks teks lengkap saat mempertahankan indeks, tabel harus dinonaktifkan, dan kolom yang diperlukan harus ditambahkan atau dihilangkan. Tindakan ini membekukan indeks. Tabel dapat diaktifkan nanti ketika memulai populasi praktis.

Izin

Pengguna harus menjadi anggota peran database tetap db_ddladmin , atau anggota peran database tetap db_owner , atau pemilik tabel.

Contoh

Contoh berikut menambahkan DocumentSummary kolom dari Document tabel ke indeks teks lengkap tabel.

USE AdventureWorks2022;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

Contoh berikut mengasumsikan Anda membuat indeks teks lengkap pada tabel bernama spanishTbl. Untuk menambahkan spanishCol kolom ke indeks teks lengkap, jalankan prosedur tersimpan berikut:

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

Saat Anda menjalankan kueri ini:

SELECT *
FROM spanishTbl
WHERE CONTAINS (spanishCol, 'formsof(inflectional, trabajar)');

Kumpulan hasil akan mencakup baris dengan bentuk trabajar (untuk bekerja) yang berbeda, seperti trabajo, trabajamos, dan trabajan.

Catatan

Semua kolom yang tercantum dalam satu klausa fungsi kueri teks lengkap harus menggunakan bahasa yang sama.