Düşük bellek koşulunu altında 2008 SSIS paketi çalıştırdığınızda SSIS 2008 çalışma zamanı işlemi çöküyor

Şablon: Genel düzeltme

# Hata: 123295 (İçerik Bakımı)hata #: 390803 (SQLBUVSTS)

Microsoft, Microsoft SQL Server 2008 düzeltmelerin tek bir indirilebilir dosya olarak 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 2008'de bulunan tüm güvenlik düzeltmelerini düzeltin.

Belirtiler

Microsoft SQL Server 2008 tümleştirme hizmetleri (SSIS 2008) paketini var. Paket veri akışı görev içerir. Bir düşük bellek koşulunu altında olan bir sunucu üzerinde paketi çalıştırdığınızda erişim ihlali oluşuyor ve sonra SSIS 2008 çalışma zamanı işlem çöküyor. Ayrıca, SSIS 2008 Uygulama günlüğünde aşağıdakine benzer düşük bellek hakkında uyarılar alabilirsiniz:

Olay adı: OnInformation

Açıklama: Arabellek Yöneticisi 10484760 bayt bellek ayırma çağrısı başarısız oldu, ancak tüm arabellekleri bellek baskısı hafifletmek için takas bulamadı. 305 arabellekleri kabul ve 295 kilitlenmiştir. Ya da yeterli bellek yeterli değil yüklü, diğer işlemler kullanmakta olduğunuz veya çok fazla arabellekleri kilitli olduğundan ardışık kullanılabilir.



Olay adı: OnInformation


Açıklama: Arabellek Yöneticisi 10485608 bayt bellek baskısı algılandı ve yinelenen arabellekleri takas girişimleri başarısız olmuş olsa da tahsis etmiştir.



Not: 2008 SSIS paketleri çalışan çeşitli çalışma zamanı DTExec.exe, DTSHost.exe veya DTSDebugHost.exe işlemlerdir. Paket SSIS 2008 çalıştırılan bir işlem altında paketidir koşulları tarafından belirlenir. Üst paket DTExec.exe işlem çalışır. DTSHost.exe işlem alt paketleri çalışır. Business Intelligence tasarım Studio tarafından ayıklandığını paket DtsDebugHost.exe işlemi çalıştırılır.

Neden

SSIS 2008 server altında bir düşük bellek koşulunu olduğu bildirilir. Düşük bellek koşulunu yalnızca 128 megabayt (MB) 256 MB bellek kullanılabilir olduğunda oluşur. Daha sonra BufferTempStoragePath özelliği tarafından belirtilen geçici klasöre veri akışı ardışık düzen arabellekleri takas etmek SSIS 2008 çalışma işlemi başlar.


"Belirtiler" bölümünde açıklanan durumda, arabellek veri dönüştürme tarafından hedef arabellek için dahili olarak kopyalanır. Örneğin, bir arabellek veri Birleştir birleştirmek dönüştürme tarafından kopyalanır. Server altında bir düşük bellek koşulunu olmakla birlikte, bu işlem gerçekleşir. Ancak, dönüşüm dönüşümünü dışında bir iş parçacığı hedef arabelleğin aniden takas tanımıyor. Bu nedenle, kopyalama işlemi başarısız olur ve ardından erişim ihlaline neden olur.

Çözüm

Bu düzeltmeyi hedef arabelleğin bir kopyalama işlemi sırasında açıkça kilitler. Bu davranış, diğer iş parçacıkları kopyalama işlemi çalışırken, hedef arabelleğin swapping engeller.
Bu sorunla ilgili düzeltme, SQL Server 2008 Service Pack 1 için toplu güncelleştirme 6 önce yayımlanmıştır. Bu toplu güncelleştirme paketi 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:

SQL Server 2008 Service Pack 1 için 977443 toplu güncelleştirme paketi 6Not: Derlemeler birikimli olduğu için her yeni düzeltme, bir önceki SQL Server 2008 düzeltme sürümünde bulunan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

970365 SQL Server 2008, SQL Server 2008 Service Pack 1'de yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2008 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2008 Service Pack 1 yüklemesi için bir SQL Server 2008 Service Pack 1 düzeltme uygulamanız gerekir. Varsayılan olarak, bir SQL Server hizmet paketinde sağlanan herhangi bir düzeltme sonraki SQL Server hizmet paketinde bulunmaktadır.

Geçici çözüm

Bu soruna geçici bir çözüm için düşük bellek koşulunu çözün. Farklı bilgisayarlar için bu sorunu tetikleyebilir bellek miktarı değişir. Genellikle, bu tutar 32 MB ile 64 MB arasındadır. Bu nedenle, SSIS 2008 için en çok 64 MB kullanılabilir bellek ayırmak için sunucu yapılandırmanızı öneririz.

Varsayılan düşük bellek kaynağının bildirim olayını işaret kullanılabilir bellek miktarını dalgalanma. Bu bellek 32 MB her 4 gigabayt (GB) için 64 MB arasındadır. Bu sorun, kullanılabilir bellek yoğun üretim sunucularında dalgalanması nedeniyle önlemek zordur. Ayrıca, diğer çeşitli nedenlerle belleği azalabilir. Bellek kaynağı bildirimleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

Bellek kaynak bildirim nesneleri oluşturan işleviBu sorun sıklığını azaltmak için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1

Bilgisayara daha fazla fiziksel bellek ekleyin.

Yöntem 2

SQL Server örneğine çalıştırmayan bir bilgisayar üzerinde SSIS 2008 paketini çalıştırın.

Yöntem 3

2008 SSIS paketi çalıştırdığınızda, SQL Server 2008 örneği için en fazla sunucu belleği seçeneği daha küçük bir değere ayarlayın. Bu davranış, kullanılabilir bellek artırır.

Yöntem 4

Veri akışı görevleri içeren 2008 SSIS paketi çalıştırdığınızda, büyük miktarda bellek tüketebilir uygulamalardan çıkın.


Yöntem 5

Dizi yerine bellek kullanımını azaltmak için paralel SSIS 2008 paket ve veri akışı görevi çalıştırın.


Yöntem 6

Düşük bellek koşulunu sorunlarını gidermek için "Daha fazla bilgi" bölümündeki "SSIS için bellek tüketimini izlemek nasıl" alt bölümünde açıklanan yöntemi kullanın. Daha sonra SSIS 2008 için bellek kullanımını en iyi duruma.

Durum

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

Daha fazla bilgi

SSIS için bellek tüketimini izlemek nasıl

En fazla bellek kullanımını hesaplamak çeşitli SQL Server Integration Services çalışma zamanı işlemler için en yüksek kullanımı ölçmek için bellek izleme


Kullanarak çeşitli SQL Server Integration Services (SSIS) çalışma zamanı işlemlerin en yüksek bellek kullanımı izlemek
Özel bayt sayısı
Sayaç
İşlem
Performans İzleyicisi'nde nesnesi. DTExec.exe işlemi ve DTSHost.exe işlemi SSIS çalışma zamanı işlemleri örnekleridir.


SSIS paketlerini çalıştırırken, en büyük değeri bulmak
Özel bayt sayısı
Sayaç. Birbirine paralel olarak birden çok paket çalıştırdığınızda, bellek kullanımı için maksimum değeri elde etmek için çalışmakta olan tüm işlemlerin en yüksek değerleri ekleyin.

Çıkıntıdan ve vadiler bulmak için dış işlemleri izlemek


Kullanarak SQL Server hizmeti ve SSIS hizmeti dışındaki işlemlerinin en yüksek bellek kullanımı izlemek
Özel bayt sayısı
Sayaç
İşlem
Performans İzleyicisi'nde nesnesi. SSIS için kullanılabilir bellek miktarı azalabilir en yüksek kullanım süreleri arayın. Örneğin, birden çok kullanıcı sunucuya bağlanmak için Uzak Masaüstü Protokolü (RDP) kullandığınızda veya yedekleme yazılımını çalıştırırken yoğun zamanlar vardır.

Çıkıntıdan ve vadiler bulmak için SQL Server bellek kullanımını izleme


"Kullanarak sayfaları için arabellek havuzu kilitli" iletisi en son hata günlüğü dosyasında değilse
Özel bayt sayısı
sayacı Sqlservr.exe işleminin ne kadar bellek SQL Server Hizmetleri tarafından tüketilen gösterebilir.



"Kullanarak sayfaları için arabellek havuzu kilitli" iletisi en son hata günlük dosyasına dahil edilmişse kullanın
Toplam sunucu belleği (KB)
Sayaç
SQL Server: Bellek Yöneticisi
SQL Server arabellek havuzu bellek kullanımını ölçmek için performans nesnesi. Ayrıca, kullanma
Özel bayt sayısı
Sayaç Sqlservr.exe işleminin bellek ayırmalar arabellek havuzu (MemToLeave) dışında bulmak için. Toplam sunucu belleği (KB) sayaç değeri ve MemToLeave değeri toplam SQL Server kullandığı bellek miktarı iyi bir tahmin toplamıdır.



Performans İzleyicisi ve Görev Yöneticisi'ni aşağıdaki koşullardan biri doğru olduğunda, bu arabellek havuzu sayfaları tarafından tüketilen bellek görüntülemez:

  • ,
    SQL Server hizmet başlangıç hesabı için Bellekteki kilit sayfaları kullanıcı hakkı atanmış.

  • ,
    AWE
    bellek etkinleştirilir.

Not
Bu koşullardan biri doğruysa
Özel bayt sayısı
Sayaç Sqlservr.exe işleminin ne kadar bellek çeşitli SQL Server örneği için SQL Server Hizmetleri tarafından tüketilen belirtmeniz gerekir.

Monitör Windows kullanılabilir belleği en az değeri


Windows'da kullanılabilir bellek miktarını izlemek için aşağıdaki yöntemlerden birini kullanın:

  • Kullanım
    Kullanılabilir MBayt
    kullanılabilir bellek miktarını belirtmek için Performans İzleyicisi sayaç.

  • Görünüm
    Fiziksel bellek (MB)-ücretsiz
    Görev Yöneticisi'nin Performans sekmesindeki değer.


    Not
    Bazı işletim sistemlerinde, Fiziksel bellek (MB)-ücretsiz
    değer Fiziksel bellek (K) – kullanılabilir değer olarak etiketlenir.

Çağrı yığını bilgileri

Erişim ihlali için çağrı yığını bilgileri aşağıdadır:(61c.2dc): Access violation - code c0000005 (second chance)eax=00000000 ebx=00000004 ecx=000000ad edx=00000001 esi=27c00000 edi=00000001
eip=7814504c esp=07e2fd8c ebp=07e2fd94 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
MSVCR80!memcpy+0x9c:
7814504c 8807 mov byte ptr [edi],al ds:0023:00000001=??

The MemCopy is attempting to copy from a source into the destination address 00000001, 00000001 is within the NULL block so an access violation exception is raised.

0:104> kL
ChildEBP RetAddr
07e2fd94 2356d46e MSVCR80!memcpy+0x9c
07e2fdd8 2356d7fd DTSPipeline!CInMemBuffer::InstantiateVirtualBuffer+0x2a7
07e2fe08 2356c32c DTSPipeline!CInMemBuffer::CloneInternal+0x43
07e2fe40 2834bf46 DTSPipeline!CInMemBuffer::Clone+0x4f
07e2fe90 2834d3ad TxSort!DllUnregisterServer+0x7d27
07e2fecc 2357f566 TxSort!DllUnregisterServer+0x918e
07e2ff2c 2357f1c4 DTSPipeline!CPathExecutionItem::DoWorkPI+0x1e4
07e2ff48 235817d8 DTSPipeline!CPathExecutionItem::DoWork+0x3d
07e2ff68 23581892 DTSPipeline!CSchedulerThread::ProcessWork+0x55
07e2ff78 781329bb DTSPipeline!CSchedulerThread::ProcessWorkThreadProc+0x1f
07e2ffb0 78132a47 MSVCR80!endthreadex+0x3b
07e2ffec 00000000 MSVCR80!endthreadex+0xc7

Başvurular

SQL Server için artımlı hizmet modeli hakkında ek bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

935897 artımlı bir hizmet modeli kullanılabilir SQL Server ekibinden bildirilen sorunlar için düzeltmeler sunmak için



SQL Server güncelleştirmelerinin adlandırma şeması 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:

822499 Microsoft 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ına tıklayın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Yazar: bruceye
Yazan: v-xinbi
Teknik İnceleme: jasonh; bruceye
Düzenleyen: v-chliao

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×