Symptom
Tänk dig följande scenario:
- Du konfigurerar en länkad server för åtkomst till en Oracle-databas som fjärrkälla i Microsoft SQL Server 2012 eller SQL Server 2014, och du använder OleDB-providern "Oracle.OleDB" för den länkade servern.
- Du använder en fjärrfråga som refererar till en Oracle-tabell och den tabellen innehåller en eller flera kolumner med Oracles egenutvecklade NUMBER-typ. Den här tabellen innehåller också ett betydande antal rader.
I det här scenariot kan du uppleva prestandaproblem jämfört med den äldre Microsoft "MSDAORA" OleDB-providern. Det här problemet uppstår på grund av hur "Oracle.OleDB"-providern rapporterar datatypen NUMBER till SQL Server.
Lösning
Lös problemet genom att tillämpa den här uppdateringen och sedan aktivera spårningsflagga TF9394. Information om hur du aktiverar spårningsflagga TF9394 finns i avsnittet "Mer information".
Information om kumulativ uppdatering
Problemet är åtgärdat i följande uppdateringar:
- Kumulativ uppdatering 13 för SQL Server 2014
- Kumulativ uppdatering 6 för SQL Server 2014 Service Pack 1 (SP1)
- Kumulativ uppdatering 2 för SQL Server 2012 Service Pack 3 (SP3)
- Kumulativ uppdatering 11 för SQL Server 2012 Service Pack 2 (SP2)
Rekommendation: Installera den senaste kumulativa uppdateringen för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
- Senaste kumulativa uppdateringen för SQL Server 2014
- Senaste kumulativa uppdateringen för SQL Server 2014 SP1
- Senaste kumulativa uppdateringen för SQL Server 2012 SP2
- Senaste kumulativa uppdateringen för SQL Server 2012 SP3
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Mer information
Aktivera spårningsflagga 9394
Du kan aktivera spårningsflagga 9394 vid start eller i en användarsession. Den här spårningsflaggan har effekter på antingen global nivå eller sessionsnivå. Om du vill aktivera spårningsflagga 9394 använder du kommandot DBCC TRACEON eller använder –T 9394 som startparameter.
Om DBCC TRACEON\TRACEOFF används återskapas inte en ny cachelagrad plan för lagrade procedurer. Det kan finnas planer i cachen som har skapats utan spårningsflaggan.
Mer information om hur du aktiverar eller inaktiverar spårningsflaggor och om spårningsflaggor på global nivå och sessionsnivå finns i följande avsnitt i SQL Server Books Online:
- DBCC TRACEON (Transact-SQL)
- Anvisningar: Konfigurera alternativ för serverstart (Konfigurationshanteraren för SQL Server)
Referenser
Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.
Ansvarsfriskrivning från tredje part
De produkter från tredje part som beskrivs i den här artikeln är tillverkade av företag som är oberoende av Microsoft. Microsoft utfärdar inga som helst garantier för dessa produkters funktion och tillförlitlighet.