Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

W programie Microsoft SQL Server 2016 lub SQL Server 2017 w systemie Windows może wystąpić spadek wydajności w następujących warunkach:

  • Po uruchomieniu wielu równoczesnych operacji INSERTSELECT w tabelach tymczasowych.

  • Podczas wykonywania zapytań sys.dm_os_waiting_tasks. W takiej sytuacji w kolumnie resource_description jest wyświetlana liczba żądań oczekujących na stronach wolnego miejsca na stronie (PFS).

Przyczyna

Równoległość insert dla operacji INSERTSELECT została wprowadzona w SQL Server 2016 lub SQL Server 2017 w systemie Windows. Funkcja INSERTs w lokalnych tabelach tymczasowych (tylko tych oznaczonych prefiksem #, a nie globalnych tabelach tymczasowych oznaczonych przez prefiksy ##) jest teraz automatycznie włączana na potrzeby równoległości bez wyznaczania wskazówki TABLOCK, która wymaga stosowania tabel innych niż tymczasowe. 

Mimo że równoległość insert zwykle poprawia wydajność zapytania, jeśli istnieje znaczna liczba równoczesnych operacji tabela tymczasowa INSERTSELECT, rywalizacja może być znacząca w stosunku do stron PFS. W niektórych przypadkach może to spowodować ogólny spadek wydajności.

Rozwiązanie

Ten problem został po raz pierwszy rozwiązany w dodatku Service Pack 1 SQL Server 2016. Po zastosowaniu SQL Server 2016 z dodatkiem SP1 funkcja RÓWNOCZESNE w programie INSERT. Funkcja ZAZNACZ do lokalnych tabel tymczasowych jest domyślnie wyłączona, co zmniejsza rywalizację na stronie PFS i poprawia ogólną wydajność jednoczesnego obciążenia pracą. Jeśli jest wymagane równoległe insertów do lokalnych tabel tymczasowych, użytkownicy powinni używać wskazówek TABLOCK podczas wstawiania do lokalnej tabeli tymczasowej.

Jeśli w sekcji obejścia została włączona flaga 9495 śledzenia, zalecane jest wyłączenie i usunięcie flagi śledzenia po zastosowaniu SQL Server 2016 z dodatkiem SP1, ponieważ flaga śledzenia 9495 wyłącza wstawianie równoległe niezależnie od wskazówki TABLOCK.

Informacje o aktualizacji zbiorczej

Ten problem został rozwiązany w następującej aktualizacji zbiorczej dla SQL Server 2016 r.:

Informacje o aktualizacjach zbiorczych dla SQL Server

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×