Aracılığıyla paylaş


Şifreleme ve ağ paketi boyutu kullanmak üzere yapılandırılmış SQL sunucularında SSIS paketleri hatası

Bu makale, SQL Server şifrelenmiş bağlantılar ve ağ paketi boyutu seçeneğini kullanacak şekilde yapılandırdığınızda oluşan sorunu çözmenize yardımcı olur.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 2006769

Belirtiler

SQL Server ortamları için aşağıdaki senaryoyu göz önünde bulundurun:

Bu senaryoda aşağıdakileri fark edeceksiniz:

  • SSIS paketlerini MSDB paket deposuna kaydetme girişimi aşağıdaki hata iletisiyle başarısız olur:

    SaveToSQLServer yöntemi OLE DB hata kodu 0x80004005 (İletişim bağlantısı hatası) ile karşılaştı. Verilen SQL deyimi başarısız oldu.

    Not

    Ayrıca, SQL Server Management Studio'de SSIS paketleri olarak oluşturulan bakım planlarını MSDB veritabanlarına kaydederken de yukarıdaki hata iletisiyle karşılaşırsınız çünkü bu işlem doğal olarak SQL Server bağlantıları için şifreleme kullanır.

  • SSIS kullanan SQL Server veri toplayıcı özelliği aşağıda belirtildiği gibi çeşitli sorunlarla karşılaşır:

    • Veri Toplama Kümesi işi, İş Geçmişi'nde aşağıdaki hataları bildirir:

    dcexec: Hata: Main'da iç hata (Neden: Sistem belirtilen dosyayı bulamıyor).
    dcexec: Hata: Main'da iç hata (Neden: Tanıtıcı geçersiz).

    • Veri Toplama Kümesini doğrudan Verilerden çalıştırırken aşağıdaki hata iletisiyle karşılaşabilirsiniz:

    "Set_{7B191952-8ECF-4E12-AEB2-EF646EF79FEF}_Master_Package_Collection" paketi başarısız oldu.

Veri Toplayıcı günlüklerini gözden geçirirseniz aşağıdakine benzer bir hata iletisiyle karşılaşırsınız:

SSIS hatası. Bileşen adı: TaskForCollectionItem_1, Kod: -1073602332, Alt Bileşen: (null), Açıklama: Paketi yüklemeye hazırlanırken hata 0xC0014062. LoadFromSQLServer yöntemi OLE DB hata kodu 0x80004005 (İletişim bağlantısı hatası) ile karşılaştı. Verilen SQL deyimi başarısız oldu.

Sorun, application.LoadFromSqlServer(String, String, String, String, IDTSEvents) Metodu veya Application.SaveToSqlServer(Package, IDTSEvents, String, String, String) Yöntemi yöntemlerini kullanan herhangi bir işlemde, bu bölümde açıklanan koşulların (şifreleme ve büyük paket boyutu) her ikisi de doğru olduğunda oluşabilir.

Neden

Güvenli Yuva Katmanı (SSL) ve değiştirmesi, Aktarım Katmanı Güvenliği (TLS), veri parçalarını 16k (16384) boyutuyla sınırlayın. Bu, genel RFC 2246 (bölüm 6.2.2) ile Ağ Protokolleri'nin geçerli uygulamasında belgelenmiştir ve TDS Uç Noktaları katmanı bu belirtime bağlıdır. Bu nedenle, şifrelemenin SQL Server etkinleştirildiği ortamlarda 16 binden büyük bir ağ paketi boyutu kullanırken Belirtiler bölümünde açıklanan hatalarla karşılaşırsınız.

Çözüm

Bu sorunu çözmek için 16.384 bayttan küçük veya buna eşit bir ağ paketi boyutu belirtin. Sistem saklı yordamının network packet size yapılandırma seçeneğini sp_configure ayarlamak için aşağıdaki kodu kullanabilirsiniz:

Not

MARS etkinleştirilirse, SMUX sağlayıcısı SSL şifrelemeden önce pakete 16 baytlık bir üst bilgi ekleyerek ağ paketi boyutunun üst sınırını 16368 bayt olarak azaltır.

EXEC sp_configure 'network packet size', 16368
RECONFIGURE WITH OVERRIDE
GO

Ağ paketi boyutu, Nesne Gezgini'deki Sunucu Özellikleri sayfası aracılığıyla da değiştirilebilir. Gelişmiş seçeneğini belirleyin ve Ağ Paketi Boyutu için yeni değeri yazın ve Tamam'a tıklayın.

Not

Değişikliğin etkili olması için SQL Server yeniden başlatmanız gerekmez. Bu ayar değiştirildikten sonra tüm yeni bağlantılar yeni değeri alır.

Daha fazla bilgi

TLS ile SSL karşılaştırması

Yeniden oluşturma adımları

sp_configure 'network packet size', 16384
RECONFIGURE WITH OVERRIDE
GO
  1. Veri Toplayıcınızın yüklü olduğundan emin olun.

  2. Ağ Paketi Boyutu'nu 16K'dan büyük bir değere ayarlayın.

  3. Nesne Gezgini'de (OE) Veri Toplama'ya sağ tıklayın ve Veri Toplamayı Devre Dışı Bırak'a tıklayın.

  4. OE'de Veri Toplama'ya sağ tıklayın ve Veri Toplamayı Etkinleştir'i seçin.

  5. Koleksiyon kümelerinde Sunucu Etkinliği'ne sağ tıklayın ve Veri Toplama Kümesini Başlat'ı seçin.

  6. Hatayı almak için Sunucu Etkinliği'ne sağ tıklayın ve Şimdi Topla ve Karşıya Yükle'yi seçin. (DC günlükleri hatayı ayrıntılı olarak gösterir).