KB2954861 – FIX: "Abfragetimeout abgelaufen" beim Anzeigen einer Vorschau eines Befehls eines SSIS-Pakets in SSDT

Gilt für
SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie verwenden Microsoft SQL Server 2012 oder SQL Server 2014 und Microsoft SQL Server Data Tools (SSDT), um ein SSIS-Paket (SQL Server Integration Services) zu entwerfen.
  • Im Datenflusstask verwenden Sie eine Quellkomponente wie OLE DB-Quelle, ADO.NET Quelle oder ODBC-Quelle, um den Datenzugriffsmodus auf SQL-Befehl festzulegen und eine Abfrage in das Befehlsfeld einzugeben.
  • Klicken Sie auf Vorschau, um das Ergebnis der Abfrage anzuzeigen.

In diesem Szenario wird der Befehl, der in der Vorschau angezeigt wird, länger als 30 Sekunden ausgeführt und schlägt im Designer fehl. Außerdem erhalten Sie eine Fehlermeldung wie "Abfragetimeout abgelaufen".

Ursache

Das Problem tritt auf, weil der CommandTimeout-Schwellenwert für das Vorschaufeature im SSIS-Designer als 30 Sekunden hartcodiert ist.

Lösung

Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.

Kumulatives Update 3 für SQL Server 2014 /en-us/help/2984923

Kumulatives Update 1 für SQL Server 2012 SP2 /en-us/help/2976982

Kumulatives Update 10 für SQL Server 2012 SP1 /en-us/help/2954099

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

      

        
Hinweise:

  • Bevor Sie diesen Hotfix anwenden, werden die Timeouteinstellungen in der Datenvorschau für alle SSIS-Komponenten auf 30 Sekunden festgelegt.

  • Nachdem Sie diesen Hotfix angewendet haben:

    • Für ADO.NET Quellkomponente und OLE DB-Quellkomponente verfügen sie bereits über die Eigenschaft CommandTimeout. Diese Eigenschaft wird in der Datenvorschau verwendet.

    • Für alle anderen Komponenten, die über eine Datenvorschaufunktion verfügen, aber nicht über die CommandTimeout-Eigenschaft verfügen:

      • Wenn unter dem Systemregistrierungsschlüssel:\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences der DWORD-Wert DataPreviewTimeout vorhanden ist, verwendet SSIS diesen Wert während der Vorschauphase als Timeout.
      • Wenn kein DWORD-Wert DataPreviewTimeout vorhanden ist, verwendet SSIS weiterhin 30 Sekunden.

      

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.