Düzeltme: (TVF) tablo değerli fonksiyon sorguda, SQL Server 2005'te <a2>Çapraz APPLY</a2> işleci ile birlikte kullandığınızda hata iletisi: "Bu sorguyu çalıştırmak için yeterli sistem belleği yok"

Makale çevirileri Makale çevirileri
Makale numarası: 924954 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 50000224 (SQL düzeltmesi)
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 uygulamak için Önkoşullar
  • Yoksa, düzeltme paketini uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekir
  • Düzeltme paketinin başka bir düzeltme paketiyle değiştirilip değiştirilmediği
  • Düzeltme paketini uyguladıktan sonra kayıt defteri değişiklikleri yapmanız gerekip
  • Düzeltme paketinin içerdiği dosyalar

Belirtiler

Şu senaryoyu inceleyin. Microsoft SQL Server 2005'te (TVF) tablo değerli fonksiyon sorguda çapraz APPLY işleci ile birlikte kullanın. Kullandığınız bir Transact-SQL TVF veya ortak dil çalışma zamanı (CLR) TVF. Bu senaryoda, aşağıdaki hata iletisini alabilirsiniz:
Msg 701, 17, <a1>Durum</a1> 123, <a1>Çizgi</a1> 2. düzey
Bu sorguyu çalıştırmak için yeterli sistem belleği yok.
Genellikle, tablonun sorgunun sol tarafındaki satır çok oluşturursa, bu sorunu yaşarsınız.

Neden

Bu sorun, sorgunun çalışması bitinceye kadar TVF parametreleri için kullanılan bellek serbest bırakılmaz nedeniyle oluşur. Bir TVF çapraz APPLY işleci ile birlikte kullandığınızda, the TVF bile bir kez sorgu çalıştırıldığında birçok kez çağrılabilir. TVF birçok kez çağrıldığında, büyük miktarda bellek tüketilen.

Çö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

  • Microsoft SQL Server 2005 Service Pack 1 (SP1)

    SQL Server 2005 SP1'i edinme 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:
    913089En son SQL Server 2005 hizmet paketi nasıl elde edilir

Yeniden başlatma bilgileri

Düzeltmeyi uyguladıktan sonra bilgisayarınızı yeniden başlatmanız gerekmez.

Kayıt defteri Bilgileri

Kayıt defterini değiştirmeniz gerekmez.

Düzeltme Dosyası Bilgileri

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.
SQL Server 2005 ' in 32-bit sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Logread.exe2005.90.2192.0398,11219 Eyl 200615: 10X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019 Eyl 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619 Eyl 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419 Eyl 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219 Eyl 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0908,06419 Eyl 200615: 10X86
Msgprox.dll2005.90.2192.0197,92019 Eyl 200615: 09X86
Msmdlocal.dll9.0.2192.015,609,63219 Eyl 200615: 11X86
Msmdredir.dll9.0.2192.03,990,30419 Eyl 200615: 11X86
Replprov.dll2005.90.2192.0547,61619 Eyl 200615: 11X86
Replrec.dll2005.90.2192.0782,11219 Eyl 200615: 10X86
Sqlaccess.dll2005.90.2192.0347,93619 Eyl 200615: 10X86
Sqlagent90.exe2005.90.2192.0319,26419 Eyl 200615: 10X86
Sqlservr.exe2005.90.2192.028,962,13619 Eyl 200615: 12X86
Xpstar90.dll2005.90.2192.0292,64019 Eyl 200614: 02X86
Xpstar90.rll2005.90.2192.0152,86419 Eyl 200615: 10X86
SQL Server 2005 x 64 sürümü
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Logread.exe2005.90.2192.0522,52819 Eyl 200614: 23X64
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019 Eyl 200614: 23X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019 Eyl 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619 Eyl 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419 Eyl 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.091,42419 Eyl 200614: 21X64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219 Eyl 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0875,29619 Eyl 200614: 20X86
Msgprox.dll2005.90.2192.0259,36019 Eyl 200614: 22X64
Msmdlocal.dll9.0.2192.015,609,63219 Eyl 200615: 11X86
Msmdredir.dll9.0.2192.03,990,30419 Eyl 200615: 11X86
Replprov.dll2005.90.2192.0745,24819 Eyl 200614: 20X64
Replrec.dll2005.90.2192.01,008,41619 Eyl 200614: 21X64
Sqlaccess.dll2005.90.2192.0355,10419 Eyl 200614: 23X86
Sqlagent90.exe2005.90.2192.0390,94419 Eyl 200614: 23X64
Sqlservr.exe2005.90.2192.039,350,04819 Eyl 200614: 21X64
Xpstar90.dll2005.90.2192.0540,96019 Eyl 200614: 23X64
Xpstar90.rll2005.90.2192.0153,37619 Eyl 200614: 21X64
SQL Server 2005 ' in ıtanium mimarisi sürümü (ingilizce)
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
Logread.exe2005.90.2192.01,095,45619 Eyl 200613: 52IA-64
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019 Eyl 200613: 51X86
Microsoft.analysisservices.adomdclient.dll9.0.2192.0543,52019 Eyl 200615: 11X86
Microsoft.analysisservices.deploymentengine.dll9.0.2192.0138,01619 Eyl 200615: 09X86
Microsoft.analysisservices.dll9.0.2192.01,215,26419 Eyl 200615: 10X86
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.0163,10419 Eyl 200613: 50IA-64
Microsoft.SQLServer.mgdsqldumper.dll2005.90.2192.075,55219 Eyl 200615: 08X86
Microsoft.SQLServer.sqlenum.dll9.0.2192.0875,29619 Eyl 200613: 52X86
Msgprox.dll2005.90.2192.0542,49619 Eyl 200613: 51IA-64
Msmdlocal.dll9.0.2192.048,585,50419 Eyl 200613: 53IA-64
Msmdredir.dll9.0.2192.06,237,47219 Eyl 200613: 53IA-64
Replprov.dll2005.90.2192.01,617,18419 Eyl 200613: 52IA-64
Replrec.dll2005.90.2192.02,141,47219 Eyl 200613: 52IA-64
Sqlaccess.dll2005.90.2192.0349,47219 Eyl 200613: 51X86
Sqlagent90.exe2005.90.2192.01,143,58419 Eyl 200613: 52IA-64
Sqlservr.exe2005.90.2192.072,233,76019 Eyl 200613: 53IA-64
Xpstar90.dll2005.90.2192.0951,07219 Eyl 200613: 51IA-64
Xpstar90.rll2005.90.2192.0152,35219 Eyl 200613: 50IA-64

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

Transact-SQL sorgusu çalıştırdığınızda, <a1>hata</a1> 701 oluşana kadar aşağıdaki öğeleri giderek arttığını dikkat edin:
  • Gelen sys.dm_os_memory_clerks SQL Server işletim sistemi yönetimi görünümü CACHESTORE_SQLCP bellek memuru
  • MEMOBJ_XSTMT bellek nesneden sys.dm_os_memory_objects SQL Server işletim sistemi yönetimi görünümü
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ı

Sorunu Yeniden Oluşturma Adımları

  1. Daha hızlı sorunu yeniden oluşturmak için <a0></a0>, az miktarda bellek kullanmak için SQL Server 2005'i yapılandırın. Bunu yapmak için <a0></a0>, SQL Server 2005'te aşağıdaki komut dosyasını çalıştırın.
    -- Enable advanced options
    USE master
    EXEC sp_configure 'show advanced options', 1
    go
    RECONFIGURE WITH OVERRIDE
    go
    
    -- Set the maximum amount of memory to 300 MB
    exec sp_configure 'max server memory', 300
    go
    reconfigure with override
    go
    dbcc freeproccache
    go
    
  2. Durdurun ve sonra SQL Server hizmetini yeniden başlatmak için komut istemine aşağıdaki komutları çalıştırın:
    net stop mssqlserver
    net start mssqlserver
  3. SQL Server 2005'te, aşağıdaki Transact-SQL deyimlerini çalıştırın.
    drop table t
    go
    create table t (c1 int, c2 int, c3 int, c4 int, c5 int, c6 int, c7 int, c8 int, c9 int, c10 int)
    go
    
    drop function fn_test
    go
    create function fn_test (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)
    returns @t table (c1 nvarchar(4) )
    with schemabinding
    as
    begin
    insert into @t values (N'abcd')
    return
    end
    go
    drop function fn_scalar
    go
    create function fn_scalar (@p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int)
    returns nvarchar(4) 
    with schemabinding
    as
    begin
    declare @s nvarchar (4)
    set @s = N'abcd' 
    
    return @s
    end
    
    go
    drop function fn_test2
    go
    create function fn_test2 ()
    returns @t table (c1 nvarchar(4) )
    with schemabinding
    as
    begin
    insert into @t values (N'abcd')
    return
    end
    
    
    go
    set nocount on
    go
    declare @i int
    set @i = 0
    while @i < 5000000
    begin
    insert into t values (@i, @i, @i, @i, @i, @i, @i, @i, @i, @i)
    set @i = @i + 1
    end
    
    go
    -- The following select query returns the 701 error if you restrict max server memory to 300 MB
    select count(*) from t cross apply dbo.fn_test(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10)
    
    
Not Bu adımları bir Transact-SQL TVF kullanın. Bu sorun ayrıca, bir CLR TVF kullandığınızda oluşur.

Özellikler

Makale numarası: 924954 - Last Review: 20 Kasım 2007 Salı - Gözden geçirme: 1.6
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
Anahtar Kelimeler: 
kbmt kbautohotfix kbfix kbsql2005tsql kbexpertiseadvanced kbhotfixserver kbqfe kbpubtypekc KB924954 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:924954

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