KB3138659 - FIX: Geringe Leistung beim Abfragen numerischer Datentypen aus einer Oracle-Datenbank

Gilt für
SQL Server 2012 Service Pack 3 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 konfigurieren einen Verbindungsserver für den Zugriff auf eine Oracle-Datenbank als Remotequelle in Microsoft SQL Server 2012 oder SQL Server 2014 und verwenden den OleDB-OleDB-Anbieter "Oracle.OleDB" für diesen verknüpften Server.
  • Sie verwenden eine Remoteabfrage, die auf eine Oracle-Tabelle verweist, und diese Tabelle enthält eine oder mehrere Spalten mit dem proprietären NUMBER-Typ von Oracle. Diese Tabelle enthält auch eine beträchtliche Anzahl von Zeilen.

In diesem Szenario können Leistungsprobleme im Vergleich zum Legacy-OleDB-Anbieter "MSDAORA" von Microsoft auftreten. Dieses Problem tritt aufgrund der Art und Weise auf, wie der Anbieter "Oracle.OleDB" den Datentyp NUMBER an SQL Server meldet.

Lösung

Um dieses Problem zu beheben, wenden Sie dieses Update an, und aktivieren Sie dann das Ablaufverfolgungsflag TF9394. Informationen zum Aktivieren des Ablaufverfolgungsflags TF9394 finden Sie im Abschnitt "Weitere Informationen".

Informationen zum kumulativen Update

Dieses Problem wurde in den folgenden Updates behoben:

          

Empfehlung: Installieren des neuesten kumulativen Updates für SQL Server

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

      

Status

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

Weitere Informationen

Aktivieren des Ablaufverfolgungsflags 9394

Sie können das Ablaufverfolgungsflag 9394 beim Start oder in einer Benutzersitzung aktivieren. Dieses Ablaufverfolgungsflag hat entweder Auswirkungen auf globaler Ebene oder auf Sitzungsebene. Verwenden Sie zum Aktivieren des Ablaufverfolgungsflags 9394 den Befehl DBCC TRACEON, oder verwenden Sie –T 9394 als Startparameter.

Wenn DBCC TRACEON\TRACEOFF verwendet wird, wird kein neuer zwischengespeicherter Plan für gespeicherte Prozeduren neu generiert. Es können Pläne im Cache vorhanden sein, die ohne das Ablaufverfolgungsflag erstellt wurden.

Weitere Informationen zum Aktivieren oder Deaktivieren von Ablaufverfolgungsflags sowie zu globalen Ablaufverfolgungsflags und Ablaufverfolgungsflags auf Sitzungsebene finden Sie in den folgenden Themen in der SQL Server-Onlinedokumentation:

      

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.