Firma Microsoft rozpowszechnia poprawki microsoft SQL Server 2008 R2 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008 R2.
Symptomy
Rozpatrzmy następujący scenariusz:
-
Uruchamiane jest wystąpienie SQL Server 2008 R2 lub SQL Server 2012 na komputerze z więcej niż jednym procesorem.
-
Zapytanie równoległe jest uruchamiane dla tabeli zawierającej dużą ilość danych przestrzennych.
W tym scenariuszu uruchomienie zapytania SQL Server może zająć dużo czasu.
Zwróć uwagę, że problem może wystąpić w jednej z poniższych sytuacji.
-
Możesz ustawićMAXDOP opcję wskazówki zapytania na wartość większą niż 2.
-
Opcję Max Degree of Parallelismmożna ustawić na wartość większą niż 2 w konfiguracji serwera.
Przyczyna
Ten problem występuje, ponieważ indeks przestrzenny nie jest używany w planie zapytania.
Rozwiązanie
W przypadku SQL Server 2012 włącz flagę śledzenia 4199 podczas uruchamiania lub sesji użytkownika.
Informacje o aktualizacji zbiorczej
dodatek Service Pack 1 dla SQL Server 2008 R2
Poprawka rozwiązła ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 3 dla SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat uzyskiwania tego zbiorczego pakietu aktualizacji, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:
2591748 Pakiet aktualizacji zbiorczej 3 dla SQL Server 2008 R2 z dodatkiem Service Pack 1
Pamiętaj, że ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 Udostępniono kompilacje SQL Server 2008 R2 wydane po SQL Server 2008 R2 z dodatkiem Service Pack 1.
SQL Server 2008 R2
Poprawka rozwiązła ten problem została po raz pierwszy wydana w zbiorczym pakiecie aktualizacji 9. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla SQL Server 2008 R2, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:
2567713 Pakiet aktualizacji zbiorczej 9 dla SQL Server 2008 R2
Pamiętaj, że ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
981356 Kompilacje SQL Server 2008 R2 wydane po SQL Server 2008 R2 zostały wydane.
Uwaga: Po zastosowaniu aktualizacji zbiorczych należy włączyć flagę śledzenia 4199 (TF 4199), aby poprawka była skuteczna. Aby uzyskać więcej informacji, zobacz KB974006 — SQL Server flagę śledzenia poprawek optymalizatora zapytań 4199 (model obsługi microsoft.com).
Obejście
Aby obejść ten problem, użyj jednej z następujących metod:
-
Użyj opcji spatial index hint w zapytaniu.
-
Wyłącz opcję parallel execution plan dla zapytania.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Więcej informacji
Aby uzyskać więcej informacji na temat przetwarzania zapytań równoległych, odwiedź następującą witrynę internetową MSDN:
Ogólne informacje na temat przetwarzania zapytań równoległych