MSSQLSERVER_8632
Berlaku untuk: SQL Server
Detail
Atribut | Nilai |
---|---|
Nama Produk | SQL Server |
ID Peristiwa | 8632 |
Sumber Kejadian | MSSQLSERVER |
Komponen | SQLEngine |
Nama Simbolis | QUERY_EXPRESSION_TOO_COMPLEX |
Teks Pesan | Kesalahan internal: Batas layanan ekspresi telah tercapai. Silakan cari ekspresi yang berpotensi kompleks dalam kueri Anda, dan cobalah untuk menyederhanakannya. |
Penjelasan
Kesalahan 8632 muncul saat Anda menjalankan kueri di SQL Server yang berisi sejumlah besar pengidentifikasi dan konstanta dalam satu ekspresi. Pesan kesalahan seperti berikut ini dilaporkan kepada pengguna:
Server: Msg 8632, Tingkat 17, Status 2, Baris 1
Kesalahan internal: Batas layanan ekspresi telah tercapai. Silakan cari ekspresi yang berpotensi kompleks dalam kueri Anda, dan cobalah untuk menyederhanakannya.
Penyebab
Masalah ini terjadi karena SQL Server membatasi jumlah pengidentifikasi dan konstanta yang dapat dimuat dalam satu ekspresi kueri. Batas ini adalah 65.535. Misalnya, kueri berikut hanya memiliki satu ekspresi:
select a, b + c, d + e
Ekspresi ini mengambil kelima kolom, menghitung operator penambahan, dan mengirim tiga hasil yang diproyeksikan ke klien.
Pengujian untuk jumlah pengidentifikasi dan konstanta dilakukan setelah SQL Server memperluas semua pengidentifikasi dan konstanta yang direferensikan. Misalnya, item berikut dapat diperluas:
- Tanda bintang (*) dalam daftar pilih
- Tampilan
- Definisi kolom komputasi
Jika angka setelah ekspansi melebihi batas, kueri tidak dapat berjalan.
Tindakan pengguna
Untuk mengatasi masalah ini, tulis ulang kueri Anda. Mereferensikan lebih sedikit pengidentifikasi dan konstanta dalam ekspresi terbesar dalam kueri. Anda harus memastikan bahwa jumlah pengidentifikasi dan konstanta dalam setiap ekspresi kueri tidak melebihi batas. Untuk melakukan ini, Anda mungkin harus memecah kueri menjadi lebih dari satu kueri tunggal. Kemudian, buat hasil perantara sementara.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk