Düzeltme: bir SQL Server tablosuna karşı NOLOCK ipucunu birlikte karmaşık bir UPDATE deyimi çalıştırdığınızda kümelenmemiş bir dizin bozulması oluşabilir

Makale çevirileri Makale çevirileri
Makale numarası: 2878968 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 veya SQL Server 2014'de bir tabloda bir NOLOCK ipucunu birlikte karmaşık bir UPDATE deyimi çalıştırdığınızda, kümelenmemiş bir dizin bozulması oluşabilir. Ayrıca, aşağıdaki hata iletisini SQL Server hata günlüğüne kaydedilebilir:

Tarih>zaman> SPID hatası #: 8646, önem derecesi: 21, durum: 1.
Tarih>zaman> SPID # tablosu 2102402659, veritabanı kimliği 3 dizindeki dizin girdisi Bul yüklenemiyor 'DatabaseName>'. Belirtilen dizin bozuk olabilir veya geçerli güncelleştirme planı ile ilgili bir sorun vardır. DBCC CHECKDB veya DBCC CHECKTABLE'ı çalıştırın. Sorun devam ederse, ürün desteğe başvurun.
Tarih>zaman> SPID # kullanma 'dbghelp.dll' version '4.0.5'
Tarih>zaman> SPID # ** döküm iş parçacığı - SPID = 0, EC = 0x0000000BD70624C0 =
Tarih>zaman> SPID # *** Y:\MSSQL\MSSQL10 için gönderilen yığın dökümü.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Tarih>zaman> SPID # *
Tarih>zaman> SPID # * yığın dökümü başlar:
Tarih>zaman> SPID # * Tarih>zaman> SPID #
Tarih>zaman> SPID # *
Tarih>zaman> SPID # * CPerIndexMetaQS::ErrorAbort - dizin Bozulması
Tarih>zaman> SPID # *

Not
deyimi içinde kaynak tablolar NOLOCK ipucunu uygulayabilirsiniz. Ancak, bir deyimi hedef tablolarda NOLOCK ipucunu uygulayamazsınız.

Neden

NOLOCK ipucunu sorgu birden çok kez aynı değerleri okuduğunda tablodaki değerleri yanlış okumak sorgu nedeniyle bu sorun oluşur.

Çözüm

Sorunu önce SQL Server aşağıdaki toplu güncelleştirmede giderilmiştir.

2014 SQL Server için toplu güncelleştirme 1

SQL Server 2012 için toplu güncelleştirme 11

SQL Server 2012 SP1 için toplu güncelleştirme 7

SQL Server 2008 SP3 için toplu güncelleştirme 13

SQL Server 2008 R2 SP2 için Toplu Güncelleştirme 9

SQL Server için toplu güncelleştirmeler hakkında

Bu resmi kapatBu resmi aç
assets folding start collapsed
Her yeni bir toplu güncelleştirme SQL Server için tüm düzeltmeleri içerir ve tüm güvenlik giderir önceki toplu güncelleştirme ile birlikte. SQL Server için en son toplu güncelleştirme denetleyin:
Bu resmi kapatBu resmi aç
assets folding end collapsed

Durum

Microsoft bu sorunun, "Aşağıdakilere uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Özellikler

Makale numarası: 2878968 - Last Review: 22 Nisan 2014 Salı - Gözden geçirme: 5.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2008 Service Pack 3, Ne zaman ne ile kullanilir:
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
Anahtar Kelimeler: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2878968

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com