Memecahkan masalah Pengindeksan Full-Text

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Memecahkan Masalah Kegagalan Pengindeksan Teks Lengkap

Saat mengisi atau mempertahankan indeks teks lengkap, pengindeks teks lengkap, karena alasan yang dijelaskan di bawah ini, mungkin gagal mengindeks satu atau beberapa baris. Kesalahan tingkat baris ini tidak mencegah populasi selesai. Pengindeks melewati baris ini, yang berarti Anda tidak dapat mengkueri konten yang terkandung dalam baris ini.

Kegagalan pengindeksan dapat terjadi ketika:

  • Pengindeks tidak dapat menemukan atau memuat komponen pemecah filter atau kata. Kegagalan ini dapat terjadi jika baris tabel berisi format dokumen atau konten dalam bahasa yang belum terdaftar dengan instans SQL Server. Kegagalan ini juga dapat terjadi jika pemecah kata terdaftar atau komponen filter tidak ditandatangani atau verifikasi tanda tangan gagal saat dimuat. Azure SQL dan Azure SQL Managed Instance tidak mendukung pemecah kata pihak ketiga.

  • Komponen, seperti pemecah kata atau filter, gagal, dan mengembalikan kesalahan ke pengindeks. Kegagalan ini dapat terjadi jika dokumen yang diindeks rusak dan filter tidak dapat mengekstrak teks dari dokumen. Kegagalan ini juga dapat terjadi ketika komponen tidak dapat menangani konten satu baris di atas ukuran tertentu, karena batas memori pada host daemon filter teks lengkap (fdhost.exe).

Untuk setiap kegagalan tingkat baris, log perayapan berisi detail tentang alasan kegagalan tersebut. Jumlah kesalahan dirangkum di akhir populasi penuh atau bertambah bertahas.

Ada kegagalan lain yang dapat berdampak pada proses pengindeksan itu sendiri dan mencegah populasi selesai:

  • Indeks teks lengkap melebihi batas untuk jumlah baris yang dapat dimuat dalam katalog teks lengkap.

  • Indeks berkluster atau indeks kunci teks lengkap pada tabel yang sedang diindeks akan diubah, dihilangkan, atau dibangun kembali.

  • Kegagalan perangkat keras atau kerusakan disk menyebabkan kerusakan katalog teks lengkap.

  • Grup file yang berisi tabel yang diindeks teks lengkap menjadi offline, atau dibuat baca-saja.

Periksa log perayapan di akhir operasi populasi indeks teks lengkap yang signifikan, atau ketika Anda menemukan bahwa populasi tidak selesai.

Komponen Tidak Ditandatangani

Secara default, pengindeks teks lengkap memerlukan filter dan pemecah kata yang dimuat untuk ditandatangani. Jika tidak ditandatangani, yang terkadang terjadi ketika komponen kustom diinstal, Anda harus mengonfigurasi pengindeks teks lengkap untuk mengabaikan verifikasi tanda tangan.

Penting

Mengabaikan verifikasi tanda tangan membuat instans SQL Server kurang aman. Kami menyarankan agar Anda menandatangani komponen apa pun yang Anda terapkan atau pastikan bahwa komponen apa pun yang Anda peroleh ditandatangani. Untuk informasi tentang komponen penandatanganan, lihat sp_fulltext_service (Transact-SQL).

Indeks Teks-Penuh dalam Status Tidak Konsisten setelah log transaksi dipulihkan

Saat memulihkan log transaksi database, Anda mungkin melihat peringatan yang menunjukkan bahwa indeks teks lengkap tidak dalam keadaan konsisten. Alasan untuk ini adalah bahwa indeks teks lengkap pada tabel dimodifikasi setelah database dicadangkan. Untuk membawa indeks teks lengkap ke status konsisten, Anda harus menjalankan populasi penuh (perayapan) pada tabel. Untuk informasi selengkapnya, lihat Mengisi Indeks Teks Lengkap.

Lihat Juga

UBAH KATALOG FULLTEXT (Transact-SQL)
Mengisi Indeks Teks Lengkap