Gejala
Di lingkungan Microsoft SQL Server 2016, Anda memproses beberapa partisi tabel secara paralel. Saat Anda menelusuri kemajuan, Anda melihat kejadian pengkodean ulang setidaknya untuk salah satu kolom. Dalam situasi ini, operasi pemrosesan mungkin gagal dengan kesalahan pengecualian. Terkadang, pemrosesan mungkin berhasil diselesaikan tapi kemudian kueri berikutnya gagal dengan kesalahan pengecualian yang menyerupai berikut ini:
Pengecualian yang tidak terduga terjadi. Pengecualian yang tidak terduga terjadi. (Microsoft SQL Server 2016 Analysis Services) Lokasi program: di Microsoft. AnalysisServices. AdomdClient. AdomdConnection. XmlaClientProvider. Microsoft. AnalysisServices. AdomdClient. IExecuteProvider. ExecuteTabular (CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters) di Microsoft. AnalysisServices. AdomdClient. AdomdCommand. ExecuteReader (CommandBehavior behavior) di Microsoft. AnalysisServices. AdomdClient. AdomdCommand. ExecuteReader () di Microsoft. ReportingServices. QueryDesigners. ASDesigner. QueryBuilderClientControl. QueryExec. ThreadExecution ()
Catatan Terkadang masalah ini terjadi setelah pemrosesan selesai dan kueri dijalankan terhadap data yang diproses.
Pemecahan Masalah
Informasi pembaruan kumulatif
Perbaikan untuk masalah ini termasuk dalam pembaruan kumulatif berikut ini untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Penyelesaian Masalah
Untuk mengatasi masalah ini, lakukan salah satu hal berikut ini:
-
Tentukan kolom mana yang memerlukan pengkodean ulang, dan gunakan partisi palsu di awal untuk menghasilkan nilai yang akan memaksa pengkodean hash dalam fase deteksi. Partisi palsu harus menjadi salah satu yang digunakan untuk memilih pengkodean sebelum paralelisme dimulai. Setelah semua partisi telah diproses, Anda dapat menghapus atau menghapus partisi palsu.
-
Gunakan pemrosesan serial dan bukan pemrosesan paralel.
Status
Microsoft telah melakukan konfirmasi bahwa masalah ini timbul pada produk Microsoft yang tertera pada bagian "Berlaku untuk".
Informasi Selengkapnya
Pemrosesan paralel tabel partisi memiliki logika berikut:
-
Gunakan data di partisi satu untuk menentukan pengkodean (baik nilai atau hash) dari kolom.
-
Setelah pengkodean dipilih, partisi lain bisa mulai memproses secara paralel.
-
Jika pengkodean nilai dipilih dan saat baris diambil, nilai mungkin mengalami yang tidak pas dalam skema pengkodean nilai. Dalam kasus ini, seluruh kolom harus dikodekan ulang ke skema pengkodean hash.
-
Operasi pengkodean kembali ini (pengkodean nilai konversi ke pengkodean hash) mengalami masalah ketika partisi lain sedang diproses pada saat yang sama.
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.