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:
- Kumulatives Update 13 für SQL Server 2014
- Kumulatives Update 6 für SQL Server 2014 Service Pack 1 (SP1)
- Kumulatives Update 2 für SQL Server 2012 Service Pack 3 (SP3)
- Kumulatives Update 11 für SQL Server 2012 Service Pack 2 (SP2)
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:
- Neuestes kumulative Update für SQL Server 2014
- Neuestes kumulatives Update für SQL Server 2014 SP1
- Neuestes kumulative Update für SQL Server 2012 SP2
- Neuestes kumulatives Update für SQL Server 2012 SP3
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:
- DBCC TRACEON (Transact-SQL)
- Gewusst wie: Konfigurieren von Serverstartoptionen (SQL Server-Konfigurations-Manager)
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.