MSSQLSERVER_3961

Şunlar için geçerlidir: SQL Server

Details

Attribute Value
Ürün Adı SQL Server
Olay Kimliği 3961
Olay Kaynağı MSSQLSERVER
Bileşen SQLEngine
Sembolik Ad XACT_METADATA_INVALID
İleti Metni '%.*ls' veritabanında anlık görüntü yalıtım işlemi başarısız oldu çünkü deyimi tarafından erişilen nesne, bu işlemin başlangıcından bu yana başka bir eşzamanlı işlemdeki bir DDL deyimi tarafından değiştirildi. Meta verilerde sürüm bilgisi olmadığından işleme izin verilmedi. Meta verilerde eşzamanlı güncelleştirme yapılması, anlık görüntü yalıtımıyla birlikte kullanıldığında tutarsızlığa neden olabilir.

Explanation

Bu hata, metaveriyi anlık izolasyon altında sorgularsanız ve aynı anda bir DDL ifadesi erişilen meta veriyi anlık izolasyon altında güncelliyorsa meydana gelebilir. SQL Server, meta verilerin sürüm düzenlemesini desteklemez. Bu nedenle, anlık görüntü izolasyonu altında çalışan açık bir işlem içinde hangi DDL işlemlerinin gerçekleştirilebileceğine dair kısıtlamalar vardır. Örtük işlem ise, tanım gereği, DDL ifadeleriyle bile anlık izolasyon anlamının uygulanmasını mümkün kılan tek bir ifadedir. BEGIN TRANSACTION ifadesi sonrası anlık izolasyon altında aşağıdaki DDL ifadelerine izin verilmez: ALTER TABLE, CREATE INDEX, CREATE XML INDEXDROP INDEXALTER INDEXDBCC REINDEX, ALTER PARTITION FUNCTION, ALTER PARTITION SCHEME, veya herhangi bir ortak dil çalışma zamanı (CLR) DDL ifadesi. Örtük işlemler içinde anlık görüntü izolasyonu kullanırken bu ifadelere izin verilir. Örtük işlem ise, tanım gereği, DDL ifadeleriyle bile anlık izolasyon anlamının uygulanmasını mümkün kılan tek bir ifadedir.

Kullanıcı Eylemi

Metaveri sorgulamadan önce anlık görüntü izolasyon seviyesini, örneğin okuma kararı gibi anlık görüntü olmayan bir izolasyon seviyesine değiştirin.