Gejala
Pertimbangkan skenario berikut:
-
Anda memiliki database yang memiliki isolasi Rekam Jepret atau membaca commit tingkat isolasi snapshot yang diaktifkan di Microsoft SQL Server 2012 atau SQL Server 2014.
-
Database berisi tabel yang tidak kosong yang memiliki indeks kluster multi-kolom. Kunci utama indeks tergugus diatur ke not null.
-
Anda memulai transaksi dan menambahkan kolom ke dalam tabel. Nilai kolom ini diperbarui.
-
Anda mengubah kunci utama dari indeks kluster untuk memperbolehkan nilai NULL.
-
Anda menyisipkan baris dengan nilai NULL untuk kunci utama dari indeks kluster, lalu membatalkan transaksi.
Dalam skenario ini, rollback menyebabkan database masuk tersangka dan hanya "diperbaiki" dengan perintah DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS . Selain itu, Anda mungkin menerima pesan kesalahan berikut:
MSG 3316, tingkat 21, negara bagian 2, baris 135 selama Batalkan operasi yang dicatat dalam database '%. * LS ', kesalahan terjadi pada log Catatan ID% S_LSN. Baris tidak ditemukan. Pulihkan database dari cadangan lengkap, atau Perbaiki database.
Pemecahan Masalah
Informasi paket layanan untuk SQL Server 2014
Untuk mengatasi masalah ini, Dapatkan Service Pack 1 untuk SQL Server 2014.
Untuk informasi selengkapnya tentang SQL Server 2014 Service Pack 1 (SP1), lihat bug yang diperbaiki di SQL server 2014 Service Pack 1.
Informasi paket layanan untuk SQL Server 2012
Untuk mengatasi masalah ini, Dapatkan paket layanan terbaru untuk Microsoft SQL Server 2012. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2755533 Cara mendapatkan paket layanan terbaru untuk SQL Server 2012
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".