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

Aşağıdaki senaryoyu düşünün:

  • SQL Server 2005 veya SQL Server 2008'de SQL Server Integration Services (SSIS) paketi çalıştırın.

  • SSIS paketi veri akışı görev içerir.

  • SSIS paketi kullanılabilir bellek yetersizliği olan bir bilgisayarda çalıştırın. Düşük bellek koşulunu geçici veya zaman zaman oluşabilir.

  • SSIS paketi çalıştırdığınızda, veri arabellekleri düşük bellek durumu nedeniyle diske yazılırlar.

Bu senaryoda, bir veya daha aşağıdaki belirtilerden biriyle karşılaşabilirsiniz:

Belirti 1

Verileri veri akışı hedef ulaşmadan önce verileri bozuk. Bulduğunuz verileri veri akışı hedef aşağıdaki değerleri beklenmedik olur.

  • "" : NULL, boş ya da boş dize değerleri

  • 0 : sıfır değeri veya sıfır değeri daha yüksek duyarlılığa ve ölçeğe sahip.

  • 0 0 0 0:0:0 : tarih değeri sıfır kesik

Not: Bu belirtiyle karşılaştığınızda, bir hata iletisi alırsınız değil.

Belirti 2

Aşağıdaki veri türü dönüştürme hata iletilerinden birini alabilirsiniz:

Hata iletisi 1


DTS_E_OLEDBERROR. OLE DB hata oluştu. Hata kodu: 0x80004005.

OLE DB kayıt kullanılabilir. Kaynak: "Microsoft SQL Native Client" Hresult: 0x80004005 Açıklama: "Invalid character value for cast specification".


Hata iletisi 2


DTS_E_COLUMNSTATUSERROR. Giriş sütunu "ColumnName" (IDnumber) giriş "OLE DB hedef Giriş" (IDNumber) üzerinde olan bir hata oluştu. Sütun durum döndürüldü: "Dönüştürme başarısız veri değeri belirtilen türe göre taştığından.".

Belirti 3

Aşağıdaki kısıtlama ihlali hata iletisi alıyorsunuz:


DTS_E_OLEDBERROR. OLE DB hata oluştu. Hata kodu: 0x80004005.

OLE DB kayıt kullanılabilir. Kaynak: "Microsoft SQL Native Client" Hresult: 0x80004005 Açıklama: "deyimi sona erdi.".

OLE DB kayıt kullanılabilir. Kaynak: "Microsoft SQL Native Client" Hresult: 0x80004005 Açıklama: "'PrimaryKeyName' PRIMARY KEY kısıtlaması ihlali. Yinelenen anahtar 'tabloadı' nesnesinde ekleyemiyor. ".


Ayrıca, bellek, kullanılabilir olduğunda aynı SSIS paket yeniden çalıştırırsanız, bu sorun oluşmaz.

Neden

Düşük bellek kaynak bildirimi için veri akışı altyapısı, veri arabellekleri veri akışı altyapısı Yazar geçici olarak diske gönderildiğinde. Veri değerlerini NULL olarak ayarlanır veya hatalı veri akışı altyapısı veri arabelleği diske yazdığında sıfır olduğundan, bu sorun oluşur. Bu nedenle, veri akışı altyapısı verilerini önbelleklerden verileri okur ve sonra veri akışı hedef veri yazar, veri akışı hedef bozuk veri değerlerini içerir. Bozuk veri değerleri, veri türü dönüştürme hataları veya kısıtlama ihlali hataları da neden olabilir.

Çözüm

Toplu güncelleştirme bilgileri

SQL Server 2008'in yayın sürümü

Bu sorunla ilgili düzeltme toplu Update 6 önce yayımlanmıştır. SQL Server 2008 için bu toplu güncelleştirme paketini elde etme 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 için 971490 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:

956909 SQL Server 2008, SQL Server 2008'de yayımlandıktan sonra yayımlanan oluşturur

SQL Server 2008 Service Pack 1 (SP1)

Önemli SQL Server 2008 Service Pack 1 (SP1) çalıştırıyorsanız, bu düzeltmeyi yüklemeniz gerekir.

Bu sorunla ilgili düzeltme, ayrıca SQL Server 2008 Service Pack 1 için toplu güncelleştirme 3'te 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:

971491 toplu güncelleştirme paketi 3 için SQL Server 2008 Service Pack 1Not: 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. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı önerir. 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.

SQL Server 2005 Service Pack 2 (SP2)

Önemli SQL Server 2005 Service Pack 2 çalıştırıyorsanız, bu düzeltmeyi yüklemeniz gerekir.


Bu sorunla ilgili düzeltme, önce SQL Server 2005 Service Pack 2 için toplu güncelleştirme 15'te 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 2005 Service Pack 2 için 972510 toplu güncelleştirme paketi 15Not: Yapýlar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile gelen tüm güvenlik düzeltmelerini düzeltin. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

937137 SQL Server 2005, SQL Server 2005 Service Pack 2 yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2005 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2005 Service Pack 2 yüklemesi için bir SQL Server 2005 Service Pack 2 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.

SQL Server 2005 Service Pack 3 (SP3)

Önemli SQL Server 2005 Service Pack 3'ü çalıştırıyorsanız, bu düzeltmenin kullanmanız gerekir.


Bu sorunla ilgili düzeltme, ayrıca SQL Server 2005 Service Pack 3 için toplu güncelleştirme 5'te 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 2005 Service Pack 3 için 972511 toplu güncelleştirme paketi 5Not: Yapýlar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile gelen tüm güvenlik düzeltmelerini düzeltin. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı önerir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

960598 SQL Server 2005, SQL Server 2005 Service Pack 3 yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2005 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2005 Service Pack 3 yüklemesi için bir SQL Server 2005 Service Pack 3 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. Bu sorun tetikleyebilir belleği en az miktarda bilgisayardan bilgisayara değişir. Genellikle, bu tutar 32 megabayt (MB) arasında olduğu ve kullanılabilir bellek 64 MB. Bu nedenle, en çok 64 MB kullanılabilir bellek ayırma için SSIS sunucu yapılandırmanızı öneririz.

Düşük bellek kaynağının bildirim olayını 64 MB 4 GB başına maksimum 4 gigabayt (GB) başına yaklaşık 32 MB olan sinyalleri varsayılan kullanılabilir bellek miktarı. Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

http://msdn.microsoft.com/en-us/library/aa366541(VS.85).aspx

Bununla birlikte, kullanılabilir bellek oldukça meşgul üretim sunucularında dalgalanma çünkü tam olarak bu sorunu önlemek zordur. Ayrıca, bellek normal faaliyetler içinde çeşitli nedenlerle düşmesine neden olur. Bu 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ğini çalıştıran bilgisayardan farklı bir bilgisayarda SSIS paketini çalıştırın.

Yöntem 3

SSIS paketi SQL Server örneğini çalıştıran bilgisayarda çalıştırıyorsanız, en fazla sunucu bellek yapılandırma seçeneği örneği için bilgisayardaki kullanılabilir belleği artırmak için daha küçük bir değere ayarlayın.

Yöntem 4

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

Yöntem 5

SSIS paketleri ve veri akışı görevlerini seri olarak yerine toplu tüketim bellek kullanımını azaltmak için paralel olarak çalıştırın.


Yöntem 6

Düşük bellek koşulunu gidermek ve SSIS için bellek kullanımını en iyi duruma getirmek 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.

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

Belirtiler hakkında daha fazla ayrıntı

Belirti 1

Veri akışı hedef veri değerlerini görürseniz, bozuk veri değerleri veri türüne bağlı olarak farklı sunumu olarak görünebilir zarar görmüş. Örneğin, aşağıdaki veri türlerinden çeşitli farklı temsilleri bozuk veri değerleri görüntülenir:

DT_STR = ""

NULL, boş ya da boş dize değerleri

DT_I4 = 0

Sıfır değeri tamsayı veri türü

DT_UI1 = 0

Sıfır değeri, işaretsiz tamsayı veri türü

DT_NUMERIC = 00000000000000000000000000000000000000

Sıfır değeri daha yüksek duyarlılığa ve ölçeğe sahip.

DT_DBTIMESTAMP = 0-0-0 0:0:0

Kesik sıfır tarih değeri

Çoğu senaryoda, tüm sütunları ve tüm satırları bozuk veri değerlerine sahip veya sütun ve satırların önemli bir bölümü veri değerleri bozuk. Ayrıca, hatta veri bozuk olduğunda genellikle hedefe ulaşmak satırların toplam sayısı hedef konumda beklenen satır sayısı eşleşir. Bu arabellek sorundan kaynaklanır. Tam bir arabellek veya arabellek çalışan veri akışı görev kümesi etkilenip etkilenmedikleri sınanmamıştır. Arabellek boyutu ve satır başına veri boyutuna bağlı olarak, her arabellek satırları yüzlerce içerebilir.

Bazı gelişmiş tasarımlar, tüm sütunlara veri akışı görevi etkilenir. Veri Dönüşümleri gibi ifadeler, türetilmiş sütun dönüştürme ve arama dönüşümü kullanarak veri akışı görev içinde yönetilebilir, bazı veri sütunlarının beklenen değerleri aynı kalabilir. SSIS bozuk verileri veri akışı görevi sırasında bu dönüştürülmüş değerlerle değiştirir olmasıdır.

Diğer gelişmiş tasarımlar, bazı satırları kaybolabilir. Beklenmeyen veri değerleri Koşullu sütun tasarım tarafından algılandığını, beklenmeyen bir hedefe SSIS veri akış tasarımları veri yönde esnek yapısı nedeniyle, bozuk veri yönlendirilmiş olabilir. Koşullu Böl dönüştürme veya arama dönüşümleri dönüştürmeleri kullandığınızda dönüşüm bozuk veri değerlerini yeniden yönlendirmeler, bazı satırları kaybolabilir. Örneğin, herhangi bir başvuru veri bozuk satır eşleşmiyorsa, arama dönüşümleri satır atılır.

Belirti 2

Bazı veri türlerinde geçerli değerler sıfır değerleri olmadığından, OLE DB Sağlayıcı veri türleri dönüştürür veri türü dönüştürme hataları oluşabilir. Bazen, bir veri türü taşma da oluşabilir. Örneğin, bir sütun datetime veri türü olan bir "0 0 0 0:0:0" değeri. OLE DB sağlayıcı SQL yerel istemci OLE DB sağlayıcı için geçerli bir tarih değeri olarak sıfır biçimlendiremez bu geçersiz değer bu tür bir hata neden olur.

Belirti 3

Yinelenen birincil anahtar değerleri veri akışı hedef eklenir çünkü bir kısıtlama ihlali ortaya çıkabilir. Örneğin, birden çok sıfır değerler Tamsayı veri türünde bir sütuna eklenir veya birden çok NULL değerleri varchar veri türünde bir sütuna eklenir. Benzer şekilde, yinelenen anahtar değerleri hedef tablosuna eklenirken yabancı anahtar ilişkisi ihlal.

Bu sorunla karşılaştıktan belirleme

Aşağıdaki göstergeler, bu sorunla karşılaşma olup olmadığını belirlemek için kullanılabilir:

  • Veri akışı alt yapısı nedeniyle düşük bellek kaynağının bildirim diske veri arabellekleri Yazar olup olmadığını belirlemek SQL Server: SSIS kanalıperformans nesnesi için arabellekleri biriktirilen sayacı izleyebilirsiniz.

  • Veri akışı görev BufferTempStoragePath özelliğinde belirtilen geçici dizininde bulunan DTS.tmp dosyasını da inceleyebilirsiniz. DTS.tmp dosyasının boyutunu artırmayı unutmayın, veri akışı altyapısı diske veri arabellekleri yazıyor.

  • Varolan SSIS paketi bu sorunu olup olmadığını saptamak istiyorsanız, bir çok noktaya yayın dönüştürme kolay gözlem için bir düz dosya hedef için verilerin bir kopyasını yönlendirmek için SSIS paket veri akışı görev ekleyebilirsiniz.

  • Başka bir ciddi bir şekilde kullanılabilir belleğin aşağıdaki ileti SSIS paketi günlüğe kaydedildiğini göstergesidir:


    DTS_I_CANTRELIEVEPRESSURE arabellek Yöneticisi sistem sanal belleği azalmış ancak tüm arabellekleri takas başaramadı algıladı. 8 arabellekleri kabul ve 8 kilitlenmiştir. Ya da yeterli bellek yeterli değil yüklü olduğu, diğer işlemlerin kullandığı veya çok fazla arabellekleri kilitli olduğundan ardışık kullanılabilir.

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


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

Özel bayt sayacı işlem nesnesi kullanarak Performans İzleyicisi'nde DTExec.exe ve DTSHost.exe işlemleri gibi çeşitli SQL Server Integration Services çalışma zamanı işlemlerin en yüksek bellek kullanımı izlemek.

SQL Server Integration Services paketlerini çalıştırırken, en büyük değer işlem nesnesi için Özel bayt sayacı Performans İzleyicisi'nde bulun. Birden çok paket paralel olarak çalıştırdığı bir senaryo düşünün. Bu senaryoda, maksimum bellek kullanımı 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

En yüksek bellek kullanımı, SQL Server hizmeti ve SSIS hizmeti dışındaki işlemlerinin işlem nesnesinin Özel bayt sayacı Performans İzleyicisi'nde kullanarak izleyin. Düşük bellek SQL Server Integration Services için neden olabilecek en yüksek kullanım kez arayın. Örneğin, burada birden çok kullanıcı sunucuya bağlanmak için Uzak Masaüstü Protokolü (RDP) kullanan yoğun zamanları düşünün ve yedekleme yazılımı çalışırken kez düşünün.

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

İleti "kullanma kilitli sayfaları için arabellek havuzu." son Errorlog dosyasında yoksa, Özel bayt sayacı Sqlservr.exe işleminin SQL Server Hizmetleri tarafından tüketilen bellek miktarını belirtebilirsiniz.

İletinin son Errorlog dosyasında varsa, Toplam sunucu belleği (KB) sayacını kullanın SQL Server: Bellek Yöneticisi performans nesnesi, SQL Server arabellek havuzu bellek kullanımını ölçmek için. Ayrıca, Özel bayt sayacı Sqlservr.exe işleminin bellek ayırmalar arabellek havuzu (MemToLeave) dışında bulmak için kullanın. İyi bir tahmin toplam SQL Server bellek tüketimi toplam sunucu belleği (KB) ve MemToLeave değerlerini iki değer toplamıdır.

Performans İzleyicisi'ni ve Görev Yöneticisi'ni aşağıdakilerden biri doğruysa bu arabellek havuzu sayfaları tarafından tüketilen bellek gösterme:

  • SQL Server hizmet başlangıç hesabı için Kilit sayfaları bellek kullanıcı hakkı atanmış olsa.

  • AWE bellek etkin olduğunda.

Not: Kilit sayfaları bellek kullanıcı hakkı için SQL Server hizmet başlangıç hesabı atanmaz ve AWE etkin değil, Özel bayt sayacı Sqlservr.exe işleminin çeşitli SQL Server örneği için SQL Services tarafından tüketilen bellek belirtmeniz gerekir.

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

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

  • Performans İzleyicisi'nde Kullanılabilir MBayt sayacı.

  • Görev Yöneticisi'nin Performans sekmesindeki Fiziksel bellek (MB) – serbest değeri.

    Not: Bazı işletim sistemlerinde, Fiziksel bellek (MB) – boş Fiziksel bellek (K) – kullanılabiliretiketlenir.

Başvurular

MainPipeClass.BufferTempStoragePath özelliði hakkýnda daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.pipeline.wrapper.mainpipeclass.buffertempstoragepath.aspx
Bellek yapılandırması seçenekleri kullanarak sunucu performansı en iyi duruma getirme hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

http://msdn.microsoft.com/en-us/library/aa178118(SQL.80).aspx
Performans izleme sayaçları hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://technet.microsoft.com/en-us/library/cc768048.aspx
Çok noktaya yayın kapsamlarını kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://technet.microsoft.com/en-us/library/cc758554(WS.10).aspxSQL Server için artımlı hizmet modeli 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:

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ı

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 yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?

Geri bildiriminiz için teşekkürler!

×