KB3213240-memperbaiki: mengubah tipe data lalu memperbarui tabel dengan lebih dari 4.000 catatan menyebabkan kerusakan database

Gejala

Anda mengubah tipe data kolom dalam tabel database dari ntext menjadi nvarchar (Max) di server yang menjalankan Microsoft SQL Server 2012, 2014 atau 2016. Ketika Anda memperbarui tabel dengan menambahkan lebih dari 4.000 catatan, DBCC CHECKDB mungkin melaporkan kesalahan yang menyerupai yang berikut ini:

MSG 8961, tingkat 16, negara bagian 1, Linenumber Kesalahan tabel: ObjectID, indexid, partitionid, allocunitid (tipe LOB data). Simpul data dari baris di halaman (pageid), Slot 0, textid tidak cocok dengan referensi dari halaman (pageid), Slot 0. MSG 8961, tingkat 16, negara bagian 1, Linenumber Kesalahan tabel: ObjectID, indexid, partitionid, allocunitid (tipe LOB data). Simpul data dari baris di halaman (pageid), Slot 0, textid tidak cocok dengan referensi dari halaman (pageid), Slot 0. MSG 8929, tingkat 16, negara bagian 1 , LinenumberObjectID, indexid, partitionid, allocunitid (ketikkan data dalam baris): kesalahan yang ditemukan dalam data dari baris dengan id yang dimiliki oleh catatan data yang diidentifikasi oleh rid = (rid) DBCC hasil untuk 'NamaTabel'. Terdapat 1 baris dalam 1 halaman untuk objek "NamaTabel". CHECKTABLE menemukan 0 kesalahan alokasi dan 3 kesalahan konsistensi dalam tabel 'NamaTabel' (ObjectID). repair_allow_data_loss adalah tingkat perbaikan minimum untuk kesalahan yang ditemukan oleh DBCC CHECKTABLE (databasename. TableName). Eksekusi DBCC diselesaikan. Jika DBCC mencetak pesan kesalahan, hubungi administrator sistem Anda.

Pemecahan Masalah

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:

Pembaruan kumulatif 5 untuk SQL Server 2016 RTM

Pembaruan kumulatif 2 untuk SQL Server 2016 SP1

Pembaruan kumulatif 4 untuk SQL Server 2014 SP2

11 pembaruan kumulatif untuk SQL Server 2014 SP1

Pembaruan kumulatif 7 untuk SQL Server 2012 paket layanan 3

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua perbaikan hotfix dan keamanan yang disertakan dalam pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

Pembaruan kumulatif terbaru untuk SQL Server 2016

Pembaruan kumulatif terbaru untuk SQL Server 2014

Pembaruan kumulatif terbaru untuk SQL Server 2012 SP3

Penyelesaian Masalah

Untuk mengatasi masalah ini setelah Anda mengubah tipe data, atur opsi nilai tipe besar dari baris ke 1.

ALTER TABLE TableName ALTER COLUMN COLUMN_NAME nvarchar(max) NOT NULL 
go
exec sp_tableoption 'TableName', 'large value types out of row', '1'

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Referensi

Pelajari tentang terminologi yang digunakan oleh Microsoft untuk menjelaskan pembaruan perangkat lunak.

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!

×