Gejala
Ketika Anda menjalankan kueri yang berisi data objek besar (LOB) untuk memuat ke variabel Transact-SQL di Microsoft SQL Server 2008, Microsoft SQL Server 2012 atau Microsoft SQL Server 2008 R2, terjadi kerusakan data. Misalnya, Anda menjalankan kueri berikut ini untuk menyalin data XML dari kolom database ke variabel XML: Declare @OUTXML as XMLSELECT @OUTXML = DataXml FROM Table_1 WHERE id=1 Dalam situasi ini, pernyataan Select berjalan saat utas lainnya mencoba memperbarui kolom XML yang sama. Perilaku ini dapat menyebabkan kerusakan data. Selain itu, Anda menerima salah satu pesan kesalahan berikut ini saat Anda melakukan operasi baca dan tulis pada kolom XML yang rusak:
-
Tipe data XML rusak.
-
Akhir file yang tidak terduga telah terjadi.
Catatan
-
Masalah ini biasanya terjadi selama operasi beban bersamaan yang tinggi.
-
Saat Anda menggunakan agen pembaca log untuk membaca data XML yang rusak dari tabel yang merupakan bagian dari daftar artikel publikasi untuk replikasi transaksional, Anda menerima pesan kesalahan berikut:
Tipe data XML rusak. (Sumber: MSSQLServer, nomor kesalahan: 6611)
Penyebab
Masalah ini terjadi karena kunci pada kolom LOB data dirilis sebelum LOB data disalin dari kolom database ke variabel tipe data LOB. Setiap kueri bersamaan bisa memperbarui data LOB yang sama sebelum proses penyalinan selesai selama proses penyalinan. Oleh karena itu, terjadi kerusakan data.
Pemecahan Masalah
Informasi pembaruan kumulatif
Pembaruan kumulatif 7 untuk SQL Server 2012
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 7. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2012, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2823247 Paket pembaruan kumulatif 7 untuk SQL Server 2012Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2012 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2692828 Build 2012 SQL Server yang dirilis setelah SQL Server 2012 dirilis
Pembaruan kumulatif 12 untuk SQL Server 2008 R2 Paket Layanan 1
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 12. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2 Service Pack 1, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2828727 Paket pembaruan kumulatif 12 untuk SQL Server 2008 R2 Paket Layanan 1Catatan Karena Build bersifat kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 Service Pack 1 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2567616 Build SQL Server 2008 R2 yang dirilis setelah SQL Server 2008 R2 Service Pack 1 dirilis
Pembaruan kumulatif 10 untuk SQL Server 2008 Paket Layanan 3
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 10. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 Service Pack 3, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2814783 Paket pembaruan kumulatif 10 untuk SQL Server 2008 Service Pack 3Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 Service Pack 3 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2629969 Build 2008 SQL Server yang dirilis setelah SQL Server 2008 Service Pack 3 dirilis
Pembaruan kumulatif 5 untuk SQL Server 2008 R2 Paket Layanan 2 (SP2)
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 5. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2 S2008 R2 SP2, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2797460 Paket pembaruan kumulatif 5 untuk SQL Server 2008 R2 S2008 R2 SP2Catatan Karena Build bersifat kumulatif, setiap edaran perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 S2008 R2 SP2 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2730301 Build SQL Server 2008 R2 yang dirilis setelah SQL Server 2008 R2 Service Pack 2 dirilis
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".