Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Düzeltme: büyük bir yinelemesi olan işlemler gerçekleştirmek için Transact-SQL imleç değişkenleri kullandığınızda bellek sızıntıları SQL Server 2000'de oluşabilir

Ö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:837957
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
# Hata: 471233 (SQL Server 8.0)


Microsoft SQL Server 2000 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 ve önceki SQL Server 2000 yazılım güncelleştirmesi ile birlikte verilen tüm yazılım güncelleştirmelerini içerir.
Belirtiler
Büyük bir yinelemesi olan işlemler gerçekleştirmek için Transact-SQL imleç değişkenleri kullandığınızda, aşağıdaki davranış görebilirsiniz:
  • SQL Server çalıştıran bilgisayardaki işlemler gerçekleştiren bir istemci, aşağıdakine benzer bir yetersiz bellek hataları verebilir:

    Hata iletisi 1

    Msg 701: Bu sorguyu çalıştırmak için yeterli sistem belleği yok.
    Hata iletisi 2

    Msg 1204: SQL Server, LOCK kaynak şu anda alınamıyor. Daha az etkin kullanıcılar varken deyiminiz yeniden çalıştırın veya SQL Server kilit ve bellek yapılandırmasını denetlemek için sistem yöneticisine başvurun.
    Hata iletisi 3

    Msg 17803: Yetersiz bellek.
  • SQL Server 2000 çalıştıran bir bilgisayardan gelen yanıt daha yavaş olabilir.
  • DBCC FREEPROCCACHE Transact-SQL deyimini, bellek boşaltabilir veya yordam önbelleğindeki temizleyin. Bu davranış, bağlantıyı istemcinin SQL Server çalıştıran bilgisayardan kesmiş olsa bile oluşabilir.
Neden
Bu davranış, imleç değişkeni tarafından kullanılan kaynakları serbest bırakılmış nedeniyle oluşur.
Pratik Çözüm
Bu soruna geçici bir çözüm bulmak için <a0></a0>, imleç değişkenleri için ayrılan kaynakları serbest bırakmanız gerekir. Bunu yapmak için <a0></a0>, aşağıdakilerden emin olmalısınız:
  • Bir işaretçi değişkeni ayarlamak için bir SET Transact-SQL deyimi kullanırsanız, imleci artık gerekli olmadığında, imleç tarafından kullanılan kaynakları serbest bırakmak için bir DEALLOCATE Transact-SQL deyimini kullanmanız gerekir.
  • Bir işaretçi değişkeni açmak için AÇÝN Transact-SQL deyimi kullanırsanız, imleci artık gerekli olmadığında, imleç tarafından kullanılan kaynakları serbest bırakmak için bir CLOSE Transact-SQL deyimini kullanmanız gerekir.
Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, Microsoft SQL Server 2000 için en son hizmet paketini edinin. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211En son SQL Server 2000 hizmet paketi nasıl elde edilir

Düzeltme bilgileri

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yenisi) 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 aracında saat dilimi sekmesini kullanın.
   Date         Time   Version            Size    File name   --------------------------------------------------------------------   31-May-2003  05:15  2000.80.818.0      78,400  Console.exe         27-Oct-2003  14:51  2000.80.873.0     315,968  Custtask.dll        30-Jan-2004  02:59  2000.80.911.0      33,340  Dbmslpcn.dll        24-Apr-2003  12:42                    786,432  Distmdl.ldf   24-Apr-2003  12:42                  2,359,296  Distmdl.mdf   29-Jan-2003  12:25                        180  Drop_repl_hotfix.sql   11-Sep-2003  13:56  2000.80.859.0   1,905,216  Dtspkg.dll          26-Aug-2003  06:46  2000.80.854.0     528,960  Dtspump.dll         23-Jun-2003  09:10  2000.80.837.0   1,557,052  Dtsui.dll           23-Jun-2003  09:10  2000.80.837.0     639,552  Dtswiz.dll          23-Apr-2003  13:21                    747,927  Instdist.sql   02-May-2003  12:26                      1,581  Inst_repl_hotfix.sql   30-Jan-2004  02:59  2000.80.911.0      90,692  Msgprox.dll         31-Mar-2003  12:37                      1,873  Odsole.sql   30-Jan-2004  02:59  2000.80.911.0      62,024  Odsole70.dll        30-Jan-2004  02:59  2000.80.911.0      25,144  Opends60.dll        30-Jan-2004  02:59  2000.80.911.0      57,904  Osql.exe            02-Apr-2003  09:45  2000.80.797.0     279,104  Pfutil80.dll        04-Aug-2003  04:47                    550,780  Procsyst.sql   11-Sep-2003  11:07                     12,305  Qfe469315.sql   22-May-2003  09:27                     19,195  Qfe469571.sql   29-Jan-2004  11:47                  1,090,380  Replmerg.sql   30-Jan-2004  02:59  2000.80.911.0     221,768  Replprov.dll        30-Jan-2004  02:59  2000.80.911.0     307,784  Replrec.dll         29-Jan-2004  09:54  2000.80.911.0     159,813  Replres.rll   05-Sep-2003  10:30                  1,087,150  Replsys.sql   13-Aug-2003  02:58                    986,603  Repltran.sql   30-Jan-2004  02:59  2000.80.911.0     287,304  Rinitcom.dll        30-Jan-2004  02:59  2000.80.911.0      57,916  Semnt.dll           29-Jul-2003  06:43  2000.80.819.0     492,096  Semobj.dll          31-May-2003  04:57  2000.80.818.0     172,032  Semobj.rll   02-Jan-2004  06:12  2000.80.904.0      53,832  Snapshot.exe        09-Dec-2003  06:37                    117,834  Sp3_serv_uni.sql   04-Feb-2004  11:16  2000.80.913.0      28,672  Sqlagent.dll        04-Feb-2004  11:17  2000.80.913.0     311,872  Sqlagent.exe        19-Feb-2004  04:32  2000.80.916.0     168,001  Sqlakw32.dll        30-Jan-2004  02:59  2000.80.911.0   4,215,360  Sqldmo.dll          07-Apr-2003  04:14                     25,172  Sqldumper.exe       29-Jan-2004  09:47  2000.80.911.0      28,672  Sqlevn70.rll   30-Jan-2004  02:59  2000.80.911.0     180,792  Sqlmap70.dll        02-Sep-2003  13:26  2000.80.857.0     188,992  Sqlmmc.dll          02-Sep-2003  09:33  2000.80.857.0     479,232  Sqlmmc.rll   21-Oct-2003  10:38  2000.80.871.0     401,984  Sqlqry.dll          30-Jan-2004  02:59  2000.80.911.0      57,920  Sqlrepss.dll        01-Mar-2004  10:33  2000.80.919.0   7,618,641  Sqlservr.exe        30-Jan-2004  02:59  2000.80.911.0     590,396  Sqlsort.dll         30-Jan-2004  02:59  2000.80.911.0      45,644  Sqlvdi.dll          30-Jan-2004  02:59  2000.80.911.0     106,588  Sqsrvres.dll        30-Jan-2004  02:59  2000.80.911.0      33,340  Ssmslpcn.dll        30-Jan-2004  02:59  2000.80.911.0      82,492  Ssnetlib.dll        30-Jan-2004  02:59  2000.80.911.0      25,148  Ssnmpn70.dll        27-Oct-2003  14:51  2000.80.873.0     123,456  Stardds.dll         30-Jan-2004  02:59  2000.80.911.0     158,240  Svrnetcn.dll        30-Jan-2004  02:59  2000.80.911.0      76,416  Svrnetcn.exe        30-Apr-2003  10:22  2000.80.816.0      45,132  Ums.dll             30-Jan-2004  02:59  2000.80.911.0      98,872  Xpweb70.dll      
Not bağımlılıklar, en son düzeltmede veya bu dosyaları içeren bir özellik nedeniyle, ek dosyalar da içerebilir.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Bu sorun ilk olarak Microsoft SQL Server 2000 Service Pack 4'te giderilmiştir.
Daha fazla bilgi
"Belirtiler" bölümünde açıklanan davranışla imleç değişken ve sonra da imleci aynı değişkene imleç değişkeni tarafından kullanılan kaynakları bırakmadan yeniden oluşur. Örneğin, saklı yordamını göz önünde bulundurun:
CREATE PROCEDURE MYPROCBEGIN    DECLARE @CURSOR CURSOR    SET @CURSOR = CURSOR FOR SELECT * FROM AUTHORS     -- FIRST ASSIGNMENT (THIS ASSIGNMENT LEAKS WHEN A SECOND ASSIGNMENT TAKES PLACE WITHOUT DEALLOCATION)        --Other Transact-SQL statements        SET @CURSOR = CURSOR FOR SELECT * FROM AUTHORS    --  SECOND ASSIGNMENT        --Other Transact-SQL statementsEND

Bu saklı yordam çalıştırırsanız, bellek yetersiz, hata iletileri alabilirsiniz. Bu sorunu gidermek için saklı yordamın kodu aşağıdaki gibi değiştirmelisiniz:
CREATE PROCEDURE MYPROCBEGIN    DECLARE @CURSOR CURSOR    SET @CURSOR = CURSOR FOR SELECT * FROM AUTHORS     -- FIRST ASSIGNMENT    --Other Transact-SQL statements    DEALLOCATE @CURSOR --DEALLOCATING THE CURSOR VARIABLE BEFORE A SECOND ASSIGNMENT    SET @CURSOR = CURSOR FOR SELECT * FROM AUTHORS    --  SECOND ASSIGNMENT    --Other Transact-SQL statements    DEALLOCATE @CURSOR --DEALLOCATING THE CURSOR VARIABLE THAT WAS ASSIGNED SECONDEND
Referanslar
Yazılım güncelleştirmeleri hakkında ek bilgi için Microsoft Knowledge Base'deki 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ı
Bellek hakkında ek bilgi için ilgili sorunları, Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
810052Düzeltme: bir bağlantı sırasında imleçler açıldığında BIR bellek sızıntısı oluşuyor
818095Düzeltme: sanal bellek boşaldığında imleç planları önbellekten kaldırılmıyor
820773Düzeltme: Sunucu imleçler JDBC sürücüsü sızdırıyor
271624INF: Kullanarak DBCC MEMORYSTATUS SQL Server bellek kullanımını izlemek

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

Özellikler

Makale No: 837957 - Son İnceleme: 12/08/2015 06:32:33 - Düzeltme: 3.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbtsql kbsqlprog kbquery kberrmsg kbmemory kbsqlserv2000presp4fix kbfix kbbug KB837957 KbMttr
Geri bildirim