Statystyki przestarzałe bazy danych spowalniać działanie programu SharePoint Server, powodować występowanie limitów czasu i generować błędy wykonywania

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 3103194
Statystyki bazy danych — informacje
Statystyki w zakresie optymalizacji kwerendy są obiekty, które zawierają informacje statystyczne dotyczące występowania wartości w jednej lub więcej kolumn w tabeli lub widoku indeksowanego. Optymalizator kwerend używa tych statystyk, aby oszacować Kardynalność lub spowodować liczbę wierszy w kwerendzie. Te szacunki Kardynalność włączyć Optymalizator kwerend utworzyć plan wysokiej jakości kwerendy.

Na przykład optymalizator zapytań może poprawić kwerendy wydajności za pomocą Kardynalność wybierz indeks wyszukiwania operator zamiast operatora skanowania indeksu bardziej obciąża zasoby. W przeciwnym razie nieaktualne statystyki mogą zmniejszyć wydajność kwerend przy użyciu planów kwerend nieefektywne.

Duże przedsiębiorstwo wdrożeń programu SharePoint musi być plany konserwacji bazy danych w celu aktualizacji statystyk bazy danych zawartości baz danych, które znajdują się w programie Microsoft SQL Server. Klienci nie należy polegać wyłącznie na zadania konserwacji bazy danych opartej na programie SharePoint do wykonania tych zadań. Aby uzyskać więcej informacji zobacz Najważniejsze wskazówki dotyczące programu SQL Server w farmie programu SharePoint Server.
Symptomy
Statystyki bazy danych stają się nieaktualne, instalacji programu SharePoint Server może wystąpić jeden lub kilka z następujących symptomów:
  • Czas powolnego ładowania i zmniejszeniu wydajności, który może wygenerować błąd HTTP 500, po otwarciu strony witryny
  • Mniejszą wydajność, który generuje komunikaty o błędach, takich jak następujące:

    Usługa jest niedostępna

    Wyjątek SQL nieznany 53

    Błąd serwera w aplikacji '/' błąd w czasie wykonywania
  • Preforming search indeksuje powoduje nieoczekiwane wydajności programu SQL Server, blokady bazy danych i blokowanie
  • Zadania czasomierza długim, takich jak zadania "programu Microsoft SharePoint Foundation przetwarzania danych użycia", które potrwać stopniowo dłużej podczas każdej iteracji
  • Niezdolność do otwierania witryny programu SharePoint, a komunikat o błędzie podobny do następującego:

    Nieoczekiwany System.Web.HttpException: Upłynął limit czasu żądania
  • Limity czasu renderowania witryny podczas ładowania nawigacji i następujący komunikat o błędzie:

    Ramach elementu PortalSiteMapProvider nie może pobrać dzieci dla węzła
  • Wysokie użycie Procesora na serwerze działa program SQL Server podczas przetwarzania kwerend programu SharePoint
Przyczyna
Tych problemów może być spowodowane statystyki przestarzałe bazy danych. SharePoint uruchamia zadanie czasomierza codziennie aktualizacja statystyki bazy danych za pomocą procedury SQL proc_updatestatistics . Z różnych powodów, to zadanie czasomierza nie może być ukończona lub nie może zaktualizować wszystkie tabele konsekwentnie. Na przykład jeśli kopia zapasowa jest uruchomiony w bazie danych zawartości z programu SQL Server równocześnie z zadania czasomierza programu SharePoint, zadanie nie będzie dalej.

Po zakończeniu zadania czasomierza programu SharePoint, która aktualizuje statystyki poniższych zdarzeń mogą być zapisane dzienniki ULS:
  • e9bf "Wystąpił błąd podczas aktualizowania statystyk w bazie danych {0}"
  • cm1y "Aktualizowanie statystyki w bazie danych {0}"
  • dbl2 "Pomijanie statystyk aktualizacji bazy danych {0}, ponieważ jego stan to {1}"
  • cm1x "Aktualizowanie statystyki we wszystkich bazach danych w {0}"
Jeżeli warunki te nie są ściśle monitorowane i nie są podejmowane działania naprawcze, statystyki bazy danych stają się nieaktualne i ostatecznie występują problemy z wydajnością programu SharePoint.
Rozwiązanie
Aby zapobiec tych objawów i potencjalnym przerwy w dostawie usług, plany konserwacji programu SQL Server powinny zostać wdrożone zachować zaktualizowane za pomocą opcji FULLSCAN statystyki bazy danych zawartości programu SharePoint. Aby uzyskać więcej informacji zobacz Statystyka indeksu.

Podczas realizacji planu konserwacji programu SQL Server, aktualizacja statystyki baz danych programu SharePoint, nie jest wymagane Aby wyłączyć zadania z programu SharePoint. Jednak ponieważ te zadania konserwacji wykonywać podobne funkcje w obu lokalizacjach, jest dopuszczalne, aby wyłączyć zadania czasomierza z farmy programu SharePoint. Aby uzyskać więcej informacji na temat zarządzania zadanie aktualizacji indeksu z serwera programu SharePoint zobacz Bazy danych używane przez program SharePoint mają nieaktualne statystyki indeksowania (SharePoint 2013).
Więcej informacji
Aktualizowanie statystyki baz danych zawartości programu SharePoint, za pomocą opcji FULLSCAN, na co dzień z programu SQL Server jest najlepiej polecam. Aby uzyskać więcej informacji zobacz Najważniejsze wskazówki dotyczące programu SQL Server w farmie programu SharePoint Server i Konserwacji bazy danych dla programu SharePoint Foundation 2010.

Jednakże jeśli farmie programu SharePoint jest obecnie występują problemy z wydajnością z powodu nieaktualne statystyki, następujące informacje można krokiem jednorazowej łagodzenia złagodzić ten problem.

Aby wyświetlić informacje statystyczne bazy danych z określonej bazy danych, uruchom następującą kwerendę:
-- Checking the DB Statsselect a.id as 'ObjectID', isnull(a.name,'Heap') as 'IndexName', b.name as 'TableName', stats_date (id,indid) as stats_last_updated_time from sys.sysindexes as a inner join sys.objects as b on a.id = b.object_id where b.type = 'U'
Aby uzyskać więcej informacji na temat przeglądu statystyki bazy danych zobacz DBCC SHOW_STATISTICS.

Aby zaktualizować statystyki bazy danych w jednej bazie danych, która korzysta z opcji FULLSCAN, uruchom następującą kwerendę:
-- Update DB StatsEXEC sp_MSforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'
Ważna uwaga Opcja "sp_MSforeachtable" jest nieudokumentowanych procedury, które są dostarczane "tak jak jest" i powinny służyć wyłącznie do łagodzenia natychmiastowego wydania. Użyj tej procedury w ramach planu konserwacji nie jest zalecana. Zamiast tego, zobacz naszeAKTUALIZUJ STATYSTYKĘ (Transact-SQL) dokumentację dotyczącą sposobu realizacji planu w celu aktualizacji statystyk, przy użyciu opcji FULLSCAN.

W zależności od tego, jak nieaktualne stały się statystyki bazy danych, może zajść potrzeba wyczyszczenia pamięci podręcznej planu kwerendy przez uruchomienie DBCC FREEPROCCACHE polecenie po aktualizacji statystyk bazy danych. Znajdziesz składnię i argumenty dla tej procedury w DBCC FREEPROCCACHE (Transact-SQL). W ten sposób upewnić się, że nowe kwerendy optymalnej realizacji planu po aktualizacji statystyk bazy danych. Na przykład zobacz następującą kwerendę:
-- Remove all elements from the plan cacheDBCC FREEPROCCACHE
Ważna uwaga Uruchomienie polecenia DBCC FREEPROCCACHE powoduje wyczyszczenie pamięci podręcznej dla wszystkich planów kwerend w w wystąpieniu programu SQL. To polecenie należy rozumieć również przed wykonaniem poza godzinami produkcji.

Jeśli DBCC FREEPROCCACHE polecenie nie zostało wykonane po aktualizacji statystyk nieaktualne bazy danych, kwerend z planów wykonania nieefektywne mogą nadal znajdują się w pamięci podręcznej i być używane. Jeśli tak jest, wymusić ponowną kompilację na określonej procedury przechowywanej za pomocą procedury przechowywanej (patrz: sp_recompile (Transact-SQL)). Na przykład zobacz następującą kwerendę:
USE SP2013_Content_DBGOsp_recompile proc_getwebnavstruct
Uruchomionysp_recompile polecenia wraz z procedury, funkcji lub tabeli parametrów jest przeznaczony dla pojedynczego elementu w pamięci podręcznej do usunięcia bez wpływu na wystąpienie.

Właściwości

Identyfikator artykułu: 3103194 — ostatni przegląd: 10/10/2015 19:41:00 — zmiana: 1.0

Microsoft SharePoint Server 2013, Microsoft SharePoint Server 2010, Microsoft Office SharePoint Server 2007

  • kbqfe kbsurveynew kbexpertisebeginner kbbug kbfix kbtshoot kbmt KB3103194 KbMtpl
Opinia