KB2589980-memperbaiki: hasil yang salah atau pelanggaran batasan ketika Anda menjalankan pernyataan SELECT atau DML yang menggunakan fungsi row_number dan paket eksekusi paralel di SQL Server 2008

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap Edaran baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan edaran perbaikan 2008 SQL Server sebelumnya.

Gejala

Pertimbangkan skenario berikut:

  • Anda menjalankan kueri paralel yang menggunakan fungsi row_number di Microsoft SQL Server 2008.

  • Anda mencoba menjalankan kueri dengan menggunakan subkueri yang berada di dalam pernyataan Select atau pernyataan data manipulasi bahasa (DML).

Dalam skenario ini, Anda mengalami salah satu masalah berikut ini:

  • Anda menerima hasil yang salah jika Anda menjalankan kueri dalam pernyataan Select berkali-kali.

  • Tabel mungkin berisi data yang salah jika kueri berjalan di dalam pernyataan DML. Jika tabel memiliki batasan, pernyataan mungkin gagal dengan pelanggaran batasan. Misalnya, pernyataan insert mungkin gagal dan kesalahan pelanggaran kunci utama terjadi jika tabel memiliki kunci utama.

Catatan Masalah ini mungkin terjadi di salah satu situasi berikut ini:

  • Anda mengatur opsi petunjuk kueri MAXDOP ke nilai yang lebih besar dari 2.

  • Anda mengatur opsi tingkat maks paralelisme ke nilai yang lebih besar dari 2 dalam konfigurasi server.

Pemecahan Masalah

Untuk mengatasi masalah ini, Dapatkan paket layanan terbaru untuk SQL Server 2008. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

968382 Cara mendapatkan paket layanan terbaru untuk SQL Server 2008

Penyelesaian Masalah

Untuk mengatasi masalah ini, gunakan salah satu metode berikut ini:

  • Aktifkan bendera pelacakan 4134 jika Anda telah menerapkan salah satu pembaruan berikut:

    • Paket pembaruan kumulatif 6 untuk SQL Server 2008 atau paket pembaruan kumulatif yang lebih baru untuk SQL Server 2008

    • Paket pembaruan kumulatif 2 untuk SQL Server 2008 Service Pack 1 (SP1) atau paket pembaruan kumulatif yang lebih baru untuk SQL Server 2008 SP1

    Untuk informasi selengkapnya tentang cara mengaktifkan bendera pelacakan, kunjungi situs web MSDN berikut:

    Cara mengaktifkan bendera pelacakan

  • Rujuk bagian "solusi" di artikel Basis Pengetahuan Microsoft 970198.¬†Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

    970198 FIX: Anda menerima hasil yang salah ketika menjalankan kueri yang menggunakan fungsi row_number di SQL Server 2008

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×