Çok sayıda bağımsız değişken bir IN veya SQL Server'da bir NOT IN yan tümcesi içeren bir sorgu çalıştırdığınızda, yığın taşması olur.

Ö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:288095
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
# Hata: 235727 (shiloh_bugs)
# Hata: 58274 (sqlbug_70)
Belirtiler
Çok sayıda bağımsız değişken (binlik) içinde bir IN ya da bir NOT IN yan tümcesi içeren sorgu, yığın taşması oluşturabilir. Örneğin, aşağıdaki sorgu yığın taşması neden olur:
SELECT max(au_id) FROM authors WHERE au_id IN(1,2,5,......,11571)  -- Query contains over 11570 arguments.				
yığın taşması oluştuğunda, SQL Server hata günlüğüne aşağıdakine benzer bilgiler içerir:
2000-08-10 12:02:37.87 spid51    08/10/00 12:02:37 Stack Overflow Dump not possible - Exception c00000fd E at 0x005872862000-08-10 12:02:37.87 spid51    Address=587286 Exception Code = c00000fd2000-08-10 12:02:37.87 spid51    eax=195922d0 ebx=19592338 ecx=2ad0e938 edx=000000072000-08-10 12:02:37.87 spid51    esi=196ce2c8 edi=19592180 eip=00587286 esp=2ac930002000-08-10 12:02:37.87 spid51    ebp=2ac93028 efl=000102022000-08-10 12:02:37.87 spid51    cs=1b ss=23 ds=23 es=23 fs=38 gs=02000-08-10 12:02:37.87 spid51    1: Return Address 005872862000-08-10 12:02:37.87 spid51    2: Return Address 0058728B.................				
Bazı durumlarda, SQL Server, gerçekte kapatma yığın taşması nedeniyle olabilir.
Pratik Çözüm
Sorguyu yeniden ve #temp bir tabloyu bir IN yan tümcesi yerine IN listedeki değerleri içerir. Örneğin, önceki sorguda şu şekilde re-written olabilir:
CREATE TABLE #IN_values (au_id char(4))INSERT INTO #IN_values select au_id FROM Table_with_values_123456789...SELECT max(au_id)FROM authors as AJOIN #IN_values as I ON (A.au_id = I.au_id)				
Durum
Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır.
Daha fazla bilgi
Istemcinin bağlantısı kesildi, ancak bu hata iletisi oluşabilir:
8621, Düzey 17, State 1, Hat 2 iç sorgu işlemcisi hatası: sunucu Hata: the query processor sorgu en iyi duruma getirilmesi sırasında yetersiz yığın alanı bitti.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 288095 - Son İnceleme: 12/06/2015 00:23:52 - Düzeltme: 4.4

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbprb kbpending KB288095 KbMttr
Geri bildirim
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)