Bagikan melalui


MSSQLSERVER_3961

Berlaku untuk: SQL Server

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 3961
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis XACT_METADATA_INVALID
Teks Pesan Transaksi isolasi rekam jepret gagal dalam database '%.*ls' karena objek yang diakses oleh pernyataan telah dimodifikasi oleh pernyataan DDL dalam transaksi bersamaan lain sejak awal transaksi ini. Hal ini dilarang karena metadata tidak dibuat versi. Pembaruan bersamaan ke metadata dapat menyebabkan ketidakkonsistenan jika dicampur dengan isolasi snapshot.

Penjelasan

Kesalahan ini dapat terjadi jika Anda mengkueri metadata pada isolasi snapshot dan ada pernyataan DDL bersamaan yang memperbarui metadata yang sedang diakses pada isolasi snapshot. SQL Server tidak mendukung pembuatan versi metadata. Karena alasan ini, ada pembatasan tentang operasi DDL apa yang dapat dilakukan dalam transaksi eksplisit yang berjalan pada isolasi snapshot. Transaksi implisit, menurut definisi, adalah satu pernyataan yang memungkinkan untuk menegakkan semantik isolasi snapshot bahkan dengan pernyataan DDL. Pernyataan DDL berikut tidak diizinkan di bawah isolasi rekam jepret setelah pernyataan BEGIN TRANSACTION: ALTER TABLE, CREATE INDEX, CREATE XML INDEX, ALTER INDEX, DROP INDEX, DBCC REINDEX, ALTER PARTITION FUNCTION, ALTER PARTITION SCHEME, atau pernyataan DDL common language runtime (CLR). Pernyataan ini diizinkan ketika Anda menggunakan isolasi snapshot dalam transaksi implisit. Transaksi implisit, menurut definisi, adalah satu pernyataan yang memungkinkan untuk menegakkan semantik isolasi snapshot bahkan dengan pernyataan DDL.

Tindakan Pengguna

Ubah tingkat isolasi rekam jepret ke tingkat isolasi non-rekam jepret seperti baca yang diterapkan sebelum mengkueri metadata.