Düzeltme: SQL Server 2005 ' paralel yürütme planı'nı çalıştırdığınızda, bir erişim ihlali hata iletisi alabilirsiniz

Makale çevirileri Makale çevirileri
Makale numarası: 912885 - Bu makalenin geçerli olduğu ürünleri görün.
# HATA: 420246 (sqlbudt)
Microsoft, Microsoft SQL Server 2005 düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, bu düzeltme sürümü hakkında aşağıdaki açıklanır:
  • Düzeltme paketi ile giderilen sorunlar
  • Düzeltme paketini yükleme önkoşulları
  • Düzeltme paketini yükledikten sonra bilgisayarı yeniden başlatmanızın gerekip gerekmediği
  • Düzeltme paketinin başka bir düzeltme paketiyle değiştirilip değiştirilmediği
  • Kayıt defterinde herhangi bir değişiklik yapmanız gerekip gerekmediği
  • Düzeltme paketinin içerdiği dosyalar

Belirtiler

Microsoft SQL Server 2005'te, aşağıdaki koşullar geçerli olduğunda erişim ihlali hata iletisi alabilirsiniz:
  • Bir tablo için IGNORE_DUP_KEY seçeneğini kullanan bir dizin yarat
  • Bu dizini eklediği yeni bir satır INSERT deyimi çalıştırın.
  • Plan için INSERT deyimi paralel ' dir.
  • Parametre kullanarak anahtar sütunlarının IGNORE_DUP_KEY seçeneği için değer sağlanmalıdır.
Ayrıca, aşağıdakine benzer bir hata iletisi alabilirsiniz:
Geçerli komutunda BIR sunucu hatası. The results, if any, should be discarded.

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek sınamaya tabi olabilir. Bu nedenle, bu sorun nedeniyle önemli ölçüde etkilenmediyseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine başvurun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.

ÖNKOŞULLAR

Bu düzeltme için herhangi bir önkoşul bulunmamaktadır.

Yeniden başlatma bilgileri

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Kayıt defteri Bilgileri

Kayıt defterini değiştirmeniz gerekmez.

DOSYA BİLGİLERİ

Bu düzeltme, yalnızca bu makalede listelenen sorunları düzeltmek için gerekli olan dosyaları içerir. Bu düzeltme, bir ürünü en son sürüme tam olarak güncelleştirmek için gerekli olan dosyaları içermeyebilir.

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki tarih ve saat öğesinde saat dilimi sekmesini kullanın.
X 86 tabanlı sistemler için SQL Server 2005
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Msvcp80.dll8.0.50727.42548,86414-Eki-200506: 26X86
Msvcr80.dll8.0.50727.42626,68814-Eki-200506: 26X86
Sqldiscoveryapi.dll2005.90.1518.0527,06421 Oca 200600: 11X86
SQL Server 2005 x 64 edition
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Msvcp80.dll8.0.50727.421,097,72814-Eki-200518: 46X64
Msvcr80.dll8.0.50727.42822,78414-Eki-200518: 46X64
Sqldiscoveryapi.dll2005.90.1518.0745,68821 Oca 200604: 14X64
Itanium tabanlı sistemler için SQL Server 2005'in
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Msvcp80.dll8.0.50727.421,385,47214-Eki-200518: 35IA-64
Msvcr80.dll8.0.50727.421,484,80014-Eki-200518: 35IA-64
Sqldiscoveryapi.dll2005.90.1518.01,924,31221 Oca 200603: 30IA-64

Pratik Çözüm

Bu soruna geçici bir çözüm için aşağıdaki adımları izleyin:
  1. Erişim ihlaline neden olan soruna neden olan bir INSERT deyimi belirler.
  2. Soruna neden olan bir INSERT deyimi için seri bir plan oluşturmak için sorgu en iyi duruma getiricisi zorla. Bu nedenle, ifade, bir iş parçacığı üzerinde çalıştırılabilir.
Not Erişim ihlaline neden olan soruna neden olan bir INSERT deyimi belirleyemez, bu soruna geçici bir çözüm bulmak için yöntem 3'de açıklanan yöntemi kullanabilirsiniz.

Erişim ihlaline neden olan soruna neden olan bir INSERT deyimi belirlemek için şu adımları izleyin:
  1. SQL Server hata günlüğü dosyasında erişim ihlali hata iletisi bulun.
  2. En üstündedir erişim ihlali hata iletisi, giriş arabelleği bilgileri bulun.
  3. Giriş arabelleği bilgileri izleyen bir toplu iş bilgilerini bulun.

    Not Toplu işlem, erişim ihlaline neden olan soruna neden olan bir INSERT deyimi içerir.
  4. Toplu işlem yalnızca bir INSERT deyimi içeriyorsa, bu tam olarak sorunlu INSERT deyimi ifadesidir. Toplu işlem, birden çok INSERT deyimleri içeriyorsa, soruna neden olan bir INSERT deyimi belirlemek için aşağıdaki işlemleri gerçekleştirin:
    1. SQL Server Profiler, SQL Server 2005 örneği karşı bir izleme oluşturun.
    2. Hataları ve Uyarıları olay kategorisinde dikkat olay sınıfı ve özel olay sınıfını seçin.

      Not Bu olay sınıflarını, erişim ihlali oluşuyor önce başlayan son ifade belirlemek için kullanabilirsiniz.

      Toplu işlem, yalnızca Transact-SQL deyimleri içeriyorsa, aşağıdaki ek olay sınıfları TSQL olay kategorisi altında seçin:
      • SQL:BatchStarting
      • SQL:BatchCompleted
      • SQL:StmtStarting
      • SQL:StmtCompleted
      Toplu işlem, erişim ihlali oluşuyor bir saklı yordamın içeriyorsa, aşağıdaki ek olay sınıfları Stored Procedures olay kategorisi altında seçin:
      • SP: Başlangıç
      • SP: Tamamlanan
      • SP: StmtStarting
      • SP: StmtCompleted
    3. Aynı toplu işlem istemci uygulamasını çalıştırın.

      Erişim ihlali yeniden oluşturmak için bu adımı izleyin. Ardından, soruna neden olan bir INSERT deyimi belirleyebilirsiniz. Toplu işlem çalıştırıldığında, izleme çalıştırıldığından emin olun.

      Istemci uygulaması, SQL Server Management Studio'yu değil, SQL Server Management Studio'da aynı toplu işlem el ile de çalıştırabilirsiniz. Ancak, aynı yürütme planı soruna neden olan özgün yürütme planı olarak edinebilirler değil. SQL Server 2005'in bir farklı bir yürütme planı kullanan veya farklı parametreleri kullanarak soruna neden olan bir INSERT deyimi içinde toplu yeniden derler Bu davranış oluşur.
    4. Izlemeyi durdurmak ve ardından soruna neden olan bir INSERT deyimi belirlemek için izleme sonuçları çözümleyebilirsiniz. Soruna neden olan bir INSERT deyimi belirlemek için <a0></a0>, SPID, erişim ihlali oluşur ve bağlantısını keser, istemci uygulaması belirler. Ardından SPID, aşağıdaki gereksinimleri karşılayan bir INSERT deyimi dikkat edin:
      • INSERT deyimi başlatıldı.
      • Aynı INSERT deyimi tamamlanır.
Soruna neden olan bir INSERT deyimi için seri bir plan oluşturmak için sorgu en iyi duruma getiricisi zorlamak için <a0></a0>, aşağıdaki yöntemlerden birini kullanın.

Yöntem 1

Not Bu yöntem, soruna neden olan bir INSERT deyimi erişebiliyorsanız kullanın.

<a1>Seçenek</a1> (MAXDOP 1) ifade için soruna neden olan bir INSERT deyimi ekleyin. Yeni bir INSERT deyimi örnek aşağıdadır.
INSERT INTO MyTable (Col1, Col2)
SELECT Col1, Col2 FROM OtherTable
OPTION (MAXDOP 1) 
MAXDOP sorgu ipucu hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesinde "MAXDOP kullanma" bölümüne bakın:
http://msdn2.microsoft.com/en-us/library/ms181714.aspx

Yöntem 2

Not Soruna neden olan bir INSERT deyimi erişemiyorsanız, bu yöntemi kullanın. Örneğin, soruna neden olan bir INSERT deyimi bir istemci uygulamasıdır. Ancak, istemci uygulaması yeniden yapılandırın veya istemci uygulaması, <a1>SEÇENEK</a1> (MAXDOP 1) ifade eklemek için yeniden derleyin. Veya, soruna neden olan bir INSERT deyimi saklı yordamdır. Ancak, saklı yordam şifreli. Saklı yordamın tablolarda değiştirilemez.

Soruna neden olan bir INSERT deyimi karşı sp_create_plan_guide saklı yordamı kullanın. Bunu yaptığınızda, soruna neden olan bir INSERT deyimi üzerinde OPTION (MAXDOP 1) ifade zorla. Sp_create_plan_guide saklı yordamı kullanmak bir örnek aşağıdadır.
sp_create_plan_guide @name = N'planguide_for_MyFailingProc', -- Arbitrary name
@stmt = N'INSERT INTO MyOneFailingStatementTable VALUES (@a,@b,@c)', -- The problematic INSERT statement
@type = N'OBJECT', @module_or_batch = N'dbo.MyFailingProc', -- The name of the stored procedure that contains the problematic INSERT statement
@params = NULL, @hints = N'OPTION (MAXDOP 1)'-- Query hint to prevent parallelism
Sp_create_plan_guide saklı yordamı hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms179880.aspx

Yöntem 3

Not Aşağıdaki koşullardan biri doğru olduğunda bu yöntemi kullanın:
  • Soruna neden olan bir INSERT deyimi dinamik olarak oluşturulur.
  • Erişim ihlaline neden olan bir INSERT deyimi belirleyemiyor.
Önemli Bu yöntem, tüm sorgulara bir iş parçacığı üzerinde çalıştırmak için SQL Server 2005 örneği sağlar. Bu yöntemi kullanmanızı öneririz değil. Bu yöntem, örnek üzerinde çalışan diğer sorgular üzerindeki performans sorunlarına neden olabilir.

Aşağıdaki Transact-SQL deyimlerini çalıştırın.
sp_configure 'show advanced options', 1;
GO

RECONFIGURE WITH OVERRIDE;
GO

sp_configure 'max degree of parallelism', 1;
GO

RECONFIGURE WITH OVERRIDE;
GO
Parallelism en büyük ölçüde seçeneği hakkında daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms181007.aspx

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 912885 - Last Review: 20 Kasım 2007 Salı - Gözden geçirme: 3.5
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems Community Technology Preview
Anahtar Kelimeler: 
kbmt kbautohotfix kbsql2005engine kbsql2005presp1fix kbhotfixserver kbfix kbbug kbsqlserv2005fix kbqfe kbpubtypekc KB912885 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:912885

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