Próbujemy znaleźć podstawową przyczynę powolnego uruchamiania zapytań serwera SQL, które uderzają / pobierają dane z jednej z bazy danych o wielkości 300 GB, hostowanej na serwerze o niższej konfiguracji:
Windows Server 2003 R2, SP2, Enterprise Edition, 16 GB RAM, 12 CPU 32-bitowy
SQL Server 2005, SP4, Enterprise Edition, 32-bitowy.
Poinformowaliśmy już biznes o aktualizacji do wersji 64-bitowej, co potrwa ponad miesiąc.
Ale w przypadku bieżącego problemu staramy się zebrać dane, jeśli uda nam się rozwiązać problem presji pamięci lub w końcu dojść do wniosku, aby zwiększyć pamięć RAM.
Działanie zakończone: Ponowne indeksowanie i aktualizacja statystyk są właściwe dla tego DB.
Jak pokazano poniżej, zauważyliśmy typ oczekiwania semafora od 5 ostatnich dni, działający w godzinach ładowania:
Kilka informacji po poniższych zapytaniach: rozmiar bufora = 137272
SELECT SUM(virtual_memory_committed_kb)
FROM sys.dm_os_memory_clerks
WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
i pamięć semaforów = 644024 na poniższe zapytanie
SELECT SUM(total_memory_kb)
FROM sys.dm_exec_query_resource_semaphores
Poniżej znajduje się więcej informacji zebranych z dm_exec_query_resource_semaphores
i sys.dm_exec_query_memory_grants
dmv
Z powyższych informacji wynika, że problemem jest semafor zasobów SP_Blitz.
Czy pamięć „target_memory_kb” przypisana do identyfikatora semafora zasobu jest zbyt niska w porównaniu do 16 GB dostępnej pamięci RAM.
Uwaga * na analizę w ciągu 8 godzin pracy „target_memory_kb” jest zawsze poniżej 1 GB, w porównaniu do 16 GB dostępnych?
proszę wskazać, jaki może być tutaj problem i jak go rozwiązać
Dzięki