Fehlermeldung "Kommunikationsverbindungsfehler" wird für SSIS-Pakete auf SQL Server konfiguriert Verschlüsselung und eine große Netzwerk-Paketgröße gemeldet.


Problembeschreibung


Das folgende Szenario für SQL Server 2005 oder SQL Server 2008-Umgebung:

  • Konfigurieren Sie Ihre SQL Server um SSL für Verbindung verwenden.
  • Sie konfigurieren den SQL Server -Netzwerkpaketgröße , die größer als der Standardwert (4 KB)

In diesem Szenario werden Sie Folgendes feststellen:

  • SSIS-Pakete im Paketspeicher MSDB speichern wird mit der folgenden Fehlermeldung fehlschlagen:

Die SaveToSQLServer -Methode ist OLE DB-Fehlercode 0 x 80004005 (Kommunikationsverbindungsfehler) aufgetreten. Die ausgegebene SQL-Anweisung ist fehlgeschlagen.

Hinweis:Sie auch ausführen in die vorstehend genannte Fehlermeldung beim Speichern Wartungspläne erstellt in SQL Server Management Studio als SSIS-Pakete in der MSDB-Datenbank, Operation naturgemäß die Verbindung zu SQL Server verschlüsselt.

  • Daten Collector Funktion in SQL Server 2008, die SSIS verwendet führt verschiedene Probleme wie unten angegeben:
    • Ein Auftrag Daten Sammlung berichtet die folgenden Fehler in der Historie:

Dcexec: Fehler: Interner Fehler Main (Grund: die angegebene Datei kann nicht gefunden) .dcexec: Fehler: Interner Fehler Main (Grund: das Handle ist ungültig).

    • Wenn eine Sammlung Daten direkt aus den Daten kann folgende Fehlermeldung auftreten:

Paket "Set_ {7B191952-8ECF-4E12-AEB2-EF646EF79FEF} _Master_Package_Collection" ist fehlgeschlagen.

Wenn das Datensammlungsprogramm Protokolle überprüfen finden Sie eine Fehlermeldung ähnlich der folgenden.

SSIS-Fehler. Komponentenname: TaskForCollectionItem_1, Code:-1073602332 Unterkomponente: (null) Beschreibung: Fehler 0xC0014062 beim Laden des Pakets vorbereitet. Die LoadFromSQLServer -Methode ist OLE DB-Fehlercode 0 x 80004005 (Kommunikationsverbindungsfehler) aufgetreten.  Die ausgegebene SQL-Anweisung ist fehlgeschlagen.

Hinweis: das Problem möglicherweise mit jede Operation, die sowohl den Abschluss (Verschlüsselung und große Paketgröße) in diesem Abschnitt behandelten Methoden LoadFromSqlServer oder SaveToSqlServer verwendet.

Ursache


Secure Socket Layer (SSL) und dem neuen Transport Layer Verwaltungsbefehle Datenfragmente Begrenzung auf 16 KB (16384). Diese im öffentlichen RFC 2246 (Abschnitt 6.2.2) und die aktuelle Implementierung von SQL Network Interface (SNI) Ebene dieser Spezifikation entspricht. So dass Verwendung Netzwerkpaketgröße, die größer als 16 KB Umgebungen, Verschlüsselung für SQL Server aktiviert, Sie Fehler im Abschnitt Symptome behandelt. Weitere Informationen finden Sie in folgendem KB-Artikel:

  • 2008195IThemen, die bei Standard-Netzwerkpaketgröße für SQL Server-Verbindungen ändern

Fehlerbehebung


Geben Sie zum Beheben dieses Problems Netzwerkpaketgröße, die kleiner oder gleich 16384 Bytes.Können Sie den folgenden Code die Netzwerkpaketgröße Konfigurationsoption der gespeicherten Systemprozedur Sp_configure :

Hinweis Wenn MARS aktiviert wird, wird der Anbieter SMUX einen 16-Byte-Header Paket vor der SSL-Verschlüsselung hinzufügen reduzieren die maximale Netzwerkpaketgröße 16368 Bytes.

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

Die Netzwerk-Paketgröße kann auch über die Seite Eigenschaften im Objekt-Explorer geändert werden. Wählen Sie die erweiterte Option und geben den neuen Wert für die Netzwerk-Paketgröße, und klicken Sie auf OK.

Hinweis: nicht SQL Server die Änderung wirksam neu starten müssen. Nach dem Ändern dieser Einstellung erhalten alle neue Verbindungen den neuen Wert.

Weitere Informationen


Schritte zum Reproduzieren:
sp_configure 'network packet size', 16384
RECONFIGURE WITH OVERRIDE
GO
  1.  Stellen Sie sicher, dass die Sammlung installiert ist.
  2.  Die Netzwerk-Paketgröße auf einen Wert größer als 16 KB festgelegt.
  3. Rechtsklick auf Daten im Objekt-Explorer (OE) und Datensammlung deaktivieren.
  4. Klicken Sie mit der rechten Maustaste auf Datensammlung in OE und wählen Sie Datensammlung aktivieren aus.
  5. Klicken Sie auf Aktivitäten in den Auflistung, und wählen Sie Daten Sammlung starten.
  6. Um den Fehler zu erhalten, klicken Sie auf Server-Aktivität und wählen Sie Sammeln und jetzt uploaden. (DC-Protokolle zeigen den Fehler detailliert).