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'ınızı şifrelenmiş bağlantılar ve ağ paket 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'da oluşturulan bakım planlarını SSIS paketleri olarak 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.

  • SQL Server'da SSIS kullanan 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: Paket yüklenmeye 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.

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

Neden

Güvenli Yuva Katmanı (SSL) ve onun yerine gelen Aktarım Katmanı Güvenliği (TLS), veri parçalarını boyut olarak 16k (16384) ile sınırlayın. Bu, genel RFC 2246 (bölüm 6.2.2) ve geçerli Ağ Protokolleri uygulamasında belgelenmiştir ve TDS Uç Noktaları katmanı bu belirtime bağlıdır. Bu nedenle, SQL Server'da şifrelemenin etkinleştirildiği ortamlarda 16k'dan 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 şifrelemesi öncesinde pakete 16 baytlık bir üst bilgi ekler ve ağ paket boyutu ü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'daki 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 16.000'den 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).