Duża długość kolejki dysku nie oznacza, że masz wąskie gardło we/wy, jeśli masz sieć SAN lub NAS, możesz chcieć spojrzeć na inne dodatkowe liczniki. Sprawdź SQL Server Urban Omówione legendy po więcej szczegółów.
1:Poniższe operacje w dużym stopniu wykorzystują tempdb
- Powtórne tworzenie i usuwanie tabel tymczasowych (lokalnych lub globalnych)
- Zmienne tabeli, które używają tempdb do celów przechowywania
- Tabele robocze powiązane z CURSORS
- Tabele robocze powiązane z klauzulą ORDER BY
- Tabele robocze powiązane z klauzulą GROUP BY
- Pliki służbowe powiązane z HASH PLANS
Te funkcje SQL Server 2005 również intensywnie wykorzystują tempdb:
- Wersjonowanie na poziomie wiersza (snapshotisolation)
- odbudowa indeksu online
Jak wspomniano w innych odpowiedziach SO, przeczytaj ten artykuł
o najlepszych praktykach zwiększania wydajności tempdb.
2:Patrzenie na ilość wolnej pamięci RAM na serwerze, tj. patrzenie na licznik WMI Pamięć->Dostępne MB nie pomaga, ponieważ SQL Server buforuje strony danych w pamięci RAM, więc każdy serwer db, który działa wystarczająco długo, będzie miał mało wolnej pamięci RAM.
Liczniki, na które należy spojrzeć, mają większe znaczenie, jeśli chodzi o to, czy dodanie pamięci RAM do serwera pomoże:
Instancja SQL Server:Buffer Manager->Oczekiwana długość życia strony (w sekundach) Wartość poniżej 300-400 sekund oznacza, że strony nie znajdują się w pamięci zbyt długo, a dane są stale odczytywane z dysków. Serwery, które mają krótki oczekiwany czas życia strony, skorzystają z dodatkowej pamięci RAM.
oraz
SQL Server Instance:Buffer Manager->Współczynnik trafień w pamięci podręcznej bufora To mówi procent stron, które zostały odczytane z pamięci RAM, które nie musiały ponosić odczytu z dysku, współczynnik trafień w pamięci podręcznej niższy niż 85 oznacza, że serwer skorzysta z dodatkowej pamięci RAM
3 :Tak, tutaj nie może się nie udać. Zalecane jest posiadanie tempdb na oddzielnym zestawie dysków. Przeczytaj ten artykuł z bazy wiedzy
pod nagłówkiem:Przenoszenie bazy danych tempdb, jak to zrobić.