Objawy
Rozważmy następujący scenariusz:
- Serwer połączony można skonfigurować w celu uzyskania dostępu do bazy danych Oracle jako źródła zdalnego w systemie Microsoft SQL Server 2012 lub SQL Server 2014 i użyć dostawcy OleDB "Oracle.OleDB" dla tego serwera połączonego.
- Używasz zdalnego zapytania, które odwołuje się do tabeli Oracle, a ta tabela zawiera jedną lub więcej kolumn z zastrzeżonym typem NUMBER Oracle. Ta tabela również zawiera znaczną liczbę wierszy.
W tym scenariuszu mogą wystąpić problemy z wydajnością w porównaniu ze starszym dostawcą OleDB "MSDAORA" firmy Microsoft. Ten problem występuje ze względu na sposób, w jaki dostawca "Oracle.OleDB" zgłasza typ danych NUMBER do programu SQL Server.
Rozwiązanie
Aby rozwiązać ten problem, należy zastosować tę aktualizację, a następnie włączyć flagę śledzenia TF9394. Aby włączyć flagę śledzenia TF9394, zobacz sekcję "Więcej informacji".
Informacje o aktualizacji zbiorczej
Ten problem został rozwiązany w następujących aktualizacjach:
- Aktualizacja zbiorcza 13 dla programu SQL Server 2014
- Aktualizacja zbiorcza 6 dla programu SQL Server 2014 z dodatkiem Service Pack 1 (SP1)
- Aktualizacja zbiorcza 2 dla programu SQL Server 2012 z dodatkiem Service Pack 3 (SP3)
- Aktualizacja zbiorcza 11 dla programu SQL Server 2012 z dodatkiem Service Pack 2 (SP2)
Zalecenie: zainstalowanie najnowszej aktualizacji zbiorczej dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014 z dodatkiem SP1
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP2
- Najnowsza aktualizacja zbiorcza dla programu SQL Server 2012 z dodatkiem SP3
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Jak włączyć flagę śledzenia 9394
Flagę śledzenia 9394 można włączyć podczas uruchamiania lub w sesji użytkownika. Ta flaga śledzenia ma efekty na poziomie globalnym lub sesji. Aby włączyć flagę śledzenia 9394, należy użyć polecenia DBCC TRACEON lub użyć parametru –T 9394 jako parametru startowego.
Użycie polecenia DBCC TRACEON\TRACEOFF nie powoduje ponownego wygenerowania nowego planu dla procedur składowanych w pamięci podręcznej. W pamięci podręcznej mogą znajdować się plany utworzone bez flagi śledzenia.
Aby uzyskać więcej informacji na temat włączania i wyłączania flag śledzenia oraz flag śledzenia globalnego i na poziomie sesji, zobacz następujące tematy w podręcznikach online programu SQL Server:
- DBCC TRACEON (Transact-SQL)
- Jak skonfigurować opcje uruchamiania serwera (SQL Server Configuration Manager)
Źródła informacji
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.
Zastrzeżenie dotyczące innych firm
Produkty innych firm omówione w tym artykule są produkowane przez wytwórców niezależnych od Microsoft. Firma Microsoft nie udziela jakichkolwiek gwarancji, dorozumianych ani innych, co do wydajności i niezawodności tych produktów.