Podsumowanie

Microsoft SQL Server wykonuje dynamiczne zarządzanie pamięcią na podstawie wymagań pamięci bieżącego obciążenia i działań w systemie. W systemie Windows SQL Server można użyć mechanizmów powiadamiania pamięci, które są udostępniane przez interfejs API systemu Windows QueryMemoryResourceNotification. Na podstawie tych informacji z QueryMemoryResourceNotification interfejsu API systemu Windows lub z obliczeń pamięci, SQL Server reaguje na bieżącą sytuację pamięci w określonym systemie. Zapewnia to następujące korzyści:

  • System nie strony out zestaw roboczy SQL Server proces.

  • Strony niezbędne bazy danych są dostępne w pamięci w celu zmniejszenia fizycznych potrzeb we/wy.

Aby uzyskać więcej informacji, zobacz temat "Zarządzanie pamięcią dynamiczną" i temat "Opcje pamięci serwera" w dokumentacji SQL Server Books Online.

Symptomy

Rozważmy następujące problemy, które mogą wystąpić w programie SQL Server:

  • Wydajność programu SQL Server zmniejsza się nagle.

  • Komputer, na którym jest uruchomiony program SQL Server przestaje odpowiadać przez krótki czas.

  • Upłynie limit czasu dla aplikacji, które łączą się z SQL Server.

  • Problemy występują podczas uruchamiania nawet prostych poleceń lub korzystania z aplikacji w systemie.

Jeden z następujących komunikatów o błędach mogą być rejestrowane w dzienniku błędów programu SQL Server, gdy wystąpią te problemy:

Komunikat o błędzie 1

DateTime spid1s znaczna część pamięci procesu programu SQL Server został stronicowanej. Może to spowodować obniżenie wydajności. Czas trwania: 0 sekund. Zestaw roboczy (KB): 1086400, popełnione (KB): 2160928, wykorzystanie pamięci: 50%.

Komunikat o błędzie 2

DateTime spid1s znaczna część pamięci procesu programu SQL Server został stronicowanej. Może to spowodować obniżenie wydajności. Czas trwania: 315 sekundy. Zestaw roboczy (KB): 410156, popełnione (KB): 2201296, wykorzystanie pamięci: 18%.

Komunikat o błędzie 3

DateTime spid1s znaczna część pamięci procesu programu SQL Server został stronicowanej. Może to spowodować obniżenie wydajności. Czas trwania: 646 sekundy. Zestaw roboczy (KB): 901904, popełnione (KB): 2215752, wykorzystanie pamięci: 40%.

Zespół pomocy technicznej Microsoft SQL Server zaobserwowano również dodatkowe komunikaty o błędach lub ostrzeżeń, które są rejestrowane w dzienniku błędów programu SQL Server lub w dziennikach zdarzeń systemu Windows. Te komunikaty przypominają następujące:

            DateTime Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

DateTime Server      * *******************************************************************************
DateTime Server      * BEGIN STACK DUMP:
DateTime Server      *   DateTime spid 0
DateTime Server      * Non-yielding Resource Monitor
DateTime Server      * *******************************************************************************

DateTime Server      * *******************************************************************************
DateTime Server      * BEGIN STACK DUMP:
DateTime Server      *   DateTime spid 0
DateTime Server      * Non-yielding IOCP Listener
DateTime Server      * *******************************************************************************

DateTime spid2s      LazyWriter: warning, no free buffers found.

DateTime spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
DateTime spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

DateTime Logon       Error: 17189, Severity: 16, State: 1.
DateTime Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:Error
Event Source:SQLBrowser
Event ID:8
Description: The SQLBrowser service was unable to process a client request. 
 

Te komunikaty o błędach dodatkowe lub ostrzeżenia mogą pojawiać się wraz z "znaczna część pamięci procesu programu SQL Server został stronicowanej" komunikat o błędzie. W kilku przypadkach te komunikaty o błędach dodatkowe lub ostrzeżenia nie są wyświetlane wraz z komunikatem o błędzie. Jeśli zauważysz jeden z tych komunikatów o błędach lub ostrzeżenia, należy wziąć pod uwagę SQL serverstronicowania zestawu roboczego, który został omówiony w tym artykule jako jedną możliwą przyczynę, ale nie jako jedyną przyczynę. Te dodatkowe komunikaty o błędach lub ostrzeżenia mogą być rejestrowane z powodu różnych innych warunków lub przyczyn.

Obejście

Zanim spróbujesz obejść ten problem, wykonaj kroki opisane w sekcji "jak rozwiązywać ten problem", aby rozwiązać ten problem. Jeśli nadal występuje ten problem, można zapobiec system operacyjny Windows z stronicowania pamięci puli bufora procesu programu SQL Server przez blokowanie pamięci, która jest przydzielona dla puli bufora w pamięci fizycznej. Blokowanie pamięci przez przypisanie stron blokowania w pamięci użytkownika prawo do konta użytkownika, który jest używany jako konto uruchamiania usługi SQL Server.

Uwaga Za pomocą Zablokuj strony w pamięci upewnij się, że pamięć zarządzana przez SQL Server nie jest stronicowana. Jednak stosy wątków, EXE i wszelkie obrazy DLL, pamięć sterty, pamięci CLR nadal może być stronicowana przez system operacyjny. Uwaga Ponieważ SQL Server 2008 SP1 Zbiorcza aktualizacja 2 zarówno SQL Server wersje Standard i Enterprise można użyć strony Lock w pamięci prawa użytkownika. Aby uzyskać więcej informacji dotyczących obsługi zablokowanych stron, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

970070 obsługa zablokowanych stron na sql Server 2005 Standard Edition i sql Server 2008 Standard EditionAby przypisać blokowanie stron w pamięci prawa użytkownika, wykonaj następujące kroki:

  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz gpedit. msc, a następnie kliknij przycisk OK. Uwaga Tthe Zostanie wyświetlone okno dialogowe zasady grupy .

  2. Rozwiń węzeł Konfiguracja komputera, a następnie rozwiń węzeł Ustawienia systemu Windows.

  3. Rozwiń węzeł Ustawienia zabezpieczeń, a następnie rozwiń węzeł Polityki lokalnej.

  4. Kliknij pozycję Przypisywanie praw użytkownika, a następnie kliknij dwukrotnie pozycję Zablokuj strony w pamięci.

  5. W oknie dialogowym Ustawienia zasad zabezpieczeń lokalnychkliknij przycisk Dodaj użytkownika lub grupę.

  6. W oknie dialogowym Wybieranie: użytkownicy lub grupy Dodaj konto, które ma uprawnienia do uruchamiania pliku sqlservr. exe, a następnie kliknij przycisk OK.

  7. Zamknij okno dialogowe zasady grupy .

  8. Uruchom ponownie usługę SQL Server.

Po przypisaniu stron blokowania w pamięci prawa użytkownika i ponownym uruchomieniu usługi SQL Server, system operacyjny Windows nie jest już stron pamięci puli bufora w ramach procesu programu SQL Server. Jednak system operacyjny Windows nadal można strony limit pamięci puli nonbuffer w ramach procesu programu SQL Server. Można sprawdzić, czy prawo użytkownika jest używany przez wystąpienie SQL Server upewniając się, że następujący komunikat jest zapisywany w dzienniku błędów programu SQL Server podczas uruchamiania:

"Korzystanie z zablokowanych stron dla puli bufora"Ten komunikat dotyczy tylko SQL Server. Aby uzyskać więcej informacji na temat tej wiadomości w dzienniku błędów, odwiedź następujące informacje:

Czy muszę przypisać uprawnienie Blokowanie stron dla pamięci w systemie lokalnymGdy system operacyjny Windows stron pamięci puli nonbuffer, nadal mogą wystąpić problemy z wydajnością. Jednak komunikaty o błędach, które są wymienione w sekcji "Symptomy" nie są rejestrowane w dzienniku błędów programu SQL Server.

Więcej informacji

Jak rozwiązać ten problem

Istnieją trzy szerokie kategorie problemów, które mogą powodować ten problem:

  1. Problemy związane z aplikacjami: wszystkie aplikacje razem wyczerpały dostępną pamięć fizyczną i system operacyjny musi zwolnić część pamięci dla nowych żądań aplikacji dla zasobów. Zazwyczaj, podejście tutaj jest znalezienie, jakie aplikacje są wyczerpujące pamięci i podjąć niezbędne kroki, aby zrównoważyć pamięć między nimi bez prowadzących do wyczerpania RAM.

  2. Problemy ze sterownikiem urządzenia: Sterowniki urządzeń mogą powodować stronicowanie zestawu roboczego wszystkich procesów, jeśli sterownik wywołuje funkcję alokacji pamięci nieprawidłowo.

  3. Problemy z systemem operacyjnym

Aby rozwiązać ten problem, wykonaj następujące kroki:

  1. Problemy związane z aplikacjami:

    Aplikacje razem mogą spożywać wszystkie pamięci RAM w systemie. Jeśli zostaną wprowadzone nowe żądania pamięci, system operacyjny musi je spełnić, a jeśli nie ma wolnej pamięci, będzie przycinać zestaw roboczy uruchomionych aplikacji w celu zaspokojenia żądań pamięci. W takich przypadkach można zaobserwować, że zestaw roboczy dla większości, jeśli nie wszystkie aplikacje znacznie spada. Aby obserwować ten zebrać następujący licznik monitora wydajności dla wszystkich aplikacji w systemie:

    Obiekt wydajności: proces Licznik: zestaw roboczy

    Ponadto należy monitorować następujący licznik, aby skorelować ilość pamięci fizycznej dostępnej w systemie.

    Obiekt wydajności: pamięć Licznik: dostępna pamięć (MB)

    Typowe zachowanie, które można zaobserwować jest zmniejszenie dostępnej pamięci blisko 0 MB, podczas gdy w tym samym czasie nagłego spadku liczników zestawu roboczego dla większości procesów (wszystkie) w systemie. Jeśli obserwować takie zachowanie, może być konieczne podjęcie kroków w celu zmniejszenia użycia pamięci w systemie, który obejmuje na przykład zmniejszenie pamięci Max Server dla programu SQL Server.

    Aplikacje mogą również korzystać z pamięci podręcznej systemu za dużo i może spowodować duży wzrost pamięci podręcznej systemu. Aby odpowiedzieć na wzrost pamięci podręcznej systemu, system stron poza zestaw roboczy SQL Server proces lub innych aplikacji. Jeśli wystąpi ten problem, można użyć niektórych funkcji zarządzania pamięcią w aplikacji. Te funkcje kontrolują przestrzeń pamięci podręcznej systemu, w której operacje we/wy pliku mogą być używane w aplikacji. Na przykład można użyć funkcji SetSystemFileCacheSize i funkcji GetSystemFileCacheSize, aby sterować przestrzenią pamięci podręcznej systemu, z której mogą korzystać operacje operacji I/O w pliku. Można użyć obiektu wydajności pamięci, aby wyświetlić wartości różnych liczników w tym obiekcie, aby określić, czy zestaw roboczy pamięci podręcznej systemu używa zbyt dużej ilości pamięci. Na przykład można wyświetlić licznik bajty pamięci podręcznej i bajty rezydentne pamięci podręcznej systemu. Aby uzyskać więcej informacji na ten temat odwiedź następujące witryny firmy Microsoft w sieci Web:

    Zbyt dużo pamięci podręcznej Microsoft Windows Dynamic cache Service 976618   Występują problemy z wydajnością w aplikacjach i usługach, gdy pamięć podręczna (cache) plików systemowych zużywa większość fizycznej pamięci RAM

    Można pobrać i wdrożyć "Microsoft Windows Dynamic cache Service" do kontrolowania pamięci, który jest używany przez pamięć podręczną systemu.

  2. Problemy ze sterownikiem urządzenia:

    Jeśli sterownik urządzenia używa funkcji MmAllocateContiguousMemory , a jeśli ustawia wartość parametru HighestAcceptableAddress na mniej niż 4 gigabajty (GB), system operacyjny Windows może wystronać zestaw roboczy procesów w systemie, w tym proces programu SQL Server. Aby rozwiązać ten problem, skontaktuj się z dostawcą sterownika urządzenia dla aktualizacji sterowników.

    Gdy sterownik urządzenia próbuje przydzielić pamięci, system operacyjny Windows może strony zestaw roboczy innych aplikacji. Ta poprawka systemu Windows umożliwia znajdowanie sterownika urządzenia, który powoduje problem za pomocą śledzenia zdarzeń. Aby uzyskać więcej informacji na temat określonego sterownika, który powoduje, że zachowanie zestawu roboczego przycinanie, zobacz artykuł MSDN "Identyfikowanie sterowników, które przydzielić pamięci ciągłej."

  3. Problemy z systemem operacyjnym: Aby rozwiązać znane problemy, które powodują systemu operacyjnego Windows do strony zestawu roboczego procesu programu SQL Server, należy zastosować poprawki, które są opisane w następujących artykułach z bazy wiedzy Microsoft Knowledge Base.

    Uwaga Poprawki są zbiorcze. Nowsza wersja poprawki zawiera wcześniejsze wersje tej poprawki.

  • Zestaw programu SQL Server może być przycięty, gdy system używa niektórych zaawansowanych funkcji TCP. 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:

942861komunikat o błędzie, gdy aplikacja łączy się z serwerem SQL na serwerze, na którym jest uruchomiony system Windows Server: "błąd sieci ogólne", "Awaria łącza komunikacyjnego" lub "błąd poziomu transportu"

  • Na komputerze wieloprocesorowym z systemem Windows Server 2003 proces systemowy może zużywać większość dostępnej pamięci systemowej. 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:

942486proces systemowy może zużywać większość dostępnej pamięci systemowej na komputerze wieloprocesorowym z systemem Windows Server 2003

  • Jeśli program SQL Server jest uruchomiony wraz z SAP R/3, może wystąpić problem stronicowania. 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:

931308 może wystąpić zwiększone stronicowania na dysku twardym po uruchomieniu programu SAP R/3 na komputerze z systemem Windows Server 2003

  • Jeśli używasz programu SQL Server w systemie Windows Server 2008, należy zastosować poprawki dla znanych problemów, które mogą prowadzić do pracy zestawu przycinanie lub niepotrzebne nadmierne zużycie pamięci przez inne składniki systemu operacyjnego. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:

971714 proces generowania raportu może przestać odpowiadać po uruchomieniu perfmon. exe z szablonem diagnostyki usługi Active Directory do generowania raportu na kontrolerze domeny z systemem Windows Server 2008

  • Jeśli używasz programu SQL Server w systemie Windows Serve 2008 R2, należy zastosować poprawki dla znanych problemów, które mogą prowadzić do pracy zestawu przycinania. Aby uzyskać więcej informacji, kliknij następujące numery artykułów w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

979149 komputer z systemem Windows 7 lub windows Server 2008 R2 przestaje odpowiadać po uruchomieniu dużej aplikacji

2155311 niska wydajność występuje na komputerze z procesorami NUMA i systemem windows Server 2008 R2 lub Windows 7, jeśli wątek żąda dużej ilości pamięci, która znajduje się w ciągu pierwszych 4 GB pamięci 2468345 komputer sporadycznie wykonuje słabo lub przestaje odpowiadać, gdy sterownik Storport jest używany w systemie Windows Server 2008 R2

Jak określić pamięć używaną przez program SQL Server

Monitor wydajności służy do wyświetlania pamięci, który jest używany przez program SQL Server, gdy zablokowane strony w pamięci nie jest włączona.

SQL Serverrównież użyć następującego licznika wydajności do udostępnienia pamięci, która przydziela Pula bufora:

Obiekt wydajności: SQL Server: Memory Manager Licznik: całkowita ilość pamięci serwera (KB)

Uwaga Jeśli wystąpienie programu SQL Server jest nazwane wystąpienie, nazwa obiektu wydajności jest następująca:

MSSQL $InstanceName: Menedżer pamięci

Ponadto można zmierzyć wpływ stronicowania na SQL Server przez monitorowanie następujących liczników wydajności:

Obiekt wydajności: proces Licznik: bajty prywatne Wystąpienie: sqlservr Obiekt wydajności: proces Licznik: zestaw roboczy Wystąpienie: sqlservr

Licznik Bajty prywatne mierzy pamięć wirtualną, która jest obecnie zatwierdzona. Licznik zestaw roboczy mierzy, ile aktualnie zadeklarowana pamięć wirtualna zajmuje pamięć fizyczną (RAM).

Jeśli wartość licznika zestaw roboczy jest mniejsza niż wartość licznika całkowita pamięć serwera (KB) (lub bajtów prywatnych), co najmniej niektóre pamięci, która jest częścią puli bufora został przycięty z SQL Server zestaw roboczy.

Można również obserwować ogólne stronicowanie (przycinanie zestawu roboczego) w systemie, monitorując następujący licznik wydajności, który pokazuje strony odczytywane i zapisywane na dysku:

Obiekt wydajności: pamięć Licznik: wejścia strony/s i wyjścia stron/s

Aby uzyskać więcej informacji dotyczących sposobu używania tych liczników do określenia strony pamięci, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

889654 Sposób ustalania odpowiedniego rozmiaru pliku stronicowania dla 64-bitowych wersji systemu Windows Server 2003 lub Windows XP  Po przypisaniu Zablokuj stron w pamięci prawa użytkownika i ponownym uruchomieniu usługi SQL Server, Pula bufora procesu programu SQL Server nadal reaguje na zdarzenia powiadamiania zasobów pamięci i dynamicznie zwiększa lub zmniejsza w odpowiedzi na te zdarzenia. Jednak nie widać alokacji pamięci dla puli bufora, które są zablokowane w pamięci w następujących liczników wydajności:

  • Licznik Bajty prywatne i licznik zestaw roboczy w Monitorze wydajności

  • Kolumna użycie MEM na karcie procesy w Menedżerze zadań

Powodem jest to, że po włączeniu zablokowanych stron w pamięci, SQL Server rozpoczyna się przy użyciu interfejsu API AWE i nie przydzielić pamięci za pośrednictwem Menedżera pamięci wirtualnej systemu operacyjnego. Po zablokowaniu tych stron te liczniki wydajności reprezentują alokacje pamięci wewnątrz procesu programu SQL Server dla przydziałów, które nie korzystają z puli bufora. Licznik Całkowita ilość pamięci serwera (KB) programu SQL Server: Memory Manager obiektu wydajności nadal dokładnie reprezentuje pamięć, która jest przydzielona dla puli bufora.

Ważne zagadnienia przed przypisaniem prawa użytkownika "Zablokuj strony w pamięci" dla wystąpienia programu SQL Server

Należy wprowadzić dodatkowe zagadnienia przed przypisaniem Zablokuj stron w pamięci prawa użytkownika. Jeśli to prawo użytkownika zostanie przypisane do systemów, które są niepoprawnie skonfigurowane, system może stać się niestabilny lub wystąpić obniżenie wydajności całego systemu. Ponadto zdarzenie o identyfikatorze 333 mogą być rejestrowane w dzienniku zdarzeń. Jeśli skontaktujemy się z biurem obsługi klienta firmy Microsoft (CSS) dla tych problemów, inżynierów CSS może poprosić o odwołać tego prawa użytkownika dla konta użytkownika, który jest używany jako konto uruchamiania usługi SQL Server. Ten krok może być niezbędne do zbierania danych wydajności ważne, że inżynierowie CSS można użyć do niezbędnej konfiguracji różnych opcji dla programu SQL Server i innych aplikacji, które są uruchomione w systemie. Po inżynierów CSS zebrać dane dotyczące wydajności, można przypisać strony blokowania w pamięci użytkownika prawo do konta uruchamiania usługi SQL Server. Przed przypisaniem Zablokuj stron w pamięci prawa użytkownika, upewnij się, przechwytywania dziennika monitora wydajności, aby określić wymagania dotyczące pamięci różnych aplikacji i usług, które są zainstalowane w systemie. Te aplikacje obejmują również SQL Server. Aby określić wymagania dotyczące pamięci, należy zebrać następujące informacje podstawowe:

  • Upewnij się, że zestaw Maksymalna pamięć opcji i pamięć serwera min opcja poprawnie. Te opcje odzwierciedlają tylko wymagania dotyczące pamięci puli bufora procesu programu SQL Server. Te opcje nie obejmują pamięci, która jest przydzielona dla innych składników w ramach procesu programu SQL Server. Składniki te są następujące:

    • Wątki robocze programu SQL Server

    • Różne biblioteki DLL i składniki, które proces programu SQL Server ładuje w przestrzeni adresowej procesu programu SQL Server

    • Operacje tworzenia kopii zapasowych i przywracania

  • Biblioteki DLL i składniki obejmują różnych dostawców OLE DB, rozszerzone procedury przechowywane, obiekty Microsoft COM, które są używane dla sp_OACreate procedura składowana, serwery połączone i SQL Server CLR. Pamięć przydzielona dla tych składników wchodzi w obszar puli nonbuffer przestrzeni adresowej procesu programu SQL Server. Aby idealnie określić maksymalną ilość pamięci, którą może używać cały proces programu SQL Server, należy odjąć pamięć, która jest przydzielona dla składników, które nie używają puli bufora z całkowitej pamięci, która ma być używany przez proces programu SQL Server. Następnie można użyć wartości pozostałej do ustawienia Maksymalna pamięć opcji. Przed ustawieniem Maksymalna pamięć opcji i min pamięci serwera opcji, należy uważnie przejrzeć "Ustawianie opcji pamięci ręcznie" tematu w SQL Server Books Online.

  • Określ wymagania dotyczące pamięci innych aplikacji i składników systemu operacyjnego Windows. Aplikacje mogą obejmować inne składniki programu SQL Server, na przykład SQL Server Agent, SQL Server replikacja agentów, SQL Server Reporting Services, SQL Server Analysis Services, SQL Server Integration Services, i SQL Server przeszukiwanie pełnego tekstu. Aplikacje, które wykonują operacje wykonywania kopii zapasowej i operacji kopiowania plików może używać dużej ilości pamięci. Należy wziąć pod uwagę operacje, takie jak kopiowanie masowe i agenta migawki, które generują plik we/wy. Należy wziąć pod uwagę wymagania dotyczące pamięci wszystkich tych aplikacji, po określeniu wartości Maksymalna pamięć opcji i pamięci serwera min opcji. Licznik Bajty prywatne i licznik zestaw roboczy można używać w ramach obiektu Process dla każdego procesu w celu określenia zapotrzebowania na pamięć dla określonego procesu.

  • Domyślnie Blokada stron w pamięci prawa użytkownika została już przypisana do wbudowanego konta System lokalny. Aby uzyskać więcej informacji, odwiedź następującą witrynę firmy Microsoft w sieci Web:

    Czy w systemie Lcal muszę przypisywać uprawnienia Zablokuj strony w pamięci?

  • Jeśli używasz konta użytkownika systemu Windows globalnie dla wszystkich procesów programu SQL Server w domenie, należy określić prawa użytkownika, które są przypisane przy użyciu konfiguracji zasady grupy. 32-bitowy proces programu SQL Server może używać tego konta jako konto startowe. Jednak to konto wymaga blokowania stron w pamięci prawo użytkownika, aby włączyć funkcję Address Windowing EXTENSIONS (AWE). Aby uzyskać więcej informacji, zobacz temat "dostarczanie maksymalnej ilości pamięci do programu SQL Server" w dokumentacji SQL Server Books Online.

  • Przed skonfigurowaniem Maksymalna pamięć opcji i min pamięci serwera opcji dla wielu wystąpień programu SQL Server, należy wziąć pod uwagę wymagania dotyczące pamięci puli nonbuffer dla każdego wystąpienie SQL Server. Następnie skonfiguruj te opcje dla każdego wystąpienia programu SQL Server.

Najlepiej zebrać te informacje bazowe podczas obciążeń szczytu. W związku z tym można określić wymagania dotyczące pamięci dla różnych aplikacji i składników do obsługi obciążenia szczytu. Wymagania dotyczące pamięci różnią się od jednego systemu do innego systemu, w zależności od działania i aplikacje, które są uruchomione w systemie.

Można zbadać informacje, które znajdują się w widoku dynamicznego zarządzania sys. dm_os_process_memory, aby zrozumieć, czy system napotyka warunki niskiej pamięci. Aby uzyskać więcej informacji, zobacz Dokumentacja programu SQL Server Books Online w następującej witrynie:

sys. dm_os_process_memory (języka Transact-SQL)

Ulepszenia dodane w systemie Windows Server 2008 i Windows Server 2008 R2, które zmniejszają przycinanie zestawu roboczego

Windows Server 2008 i Windows Server 2008 R2 udoskonalenie mechanizmu alokacji pamięci ciągłej. Ta poprawa pozwala Windows Server 2008 i Windows Server 2008 R2 zmniejszyć do pewnego stopnia skutki stronicowania poza zestaw roboczy aplikacji po nadejciu nowych żądań pamięci.  Poniżej znajduje się wyjaśnienie ulepszeń z oficjalny dokument firmy Microsoft "postępy w zarządzaniu pamięcią w systemie Windows":

W systemie Windows Server 2008 alokacja fizycznie ciągłej pamięci jest znacznie zwiększona. Żądania przydzielić pamięci ciągłej są znacznie bardziej prawdopodobne powiodła się, ponieważ Menedżer pamięci teraz dynamicznie zastępuje stron, zazwyczaj bez przycinania zestawu roboczego lub wykonywania operacji I/O. Ponadto wiele innych typów stron — takich jak stosy jądra i strony metadanych systemu plików — są obecnie kandydatami do zastąpienia. W związku z tym więcej pamięci ciągłej jest ogólnie dostępna w danym momencie. Ponadto koszty uzyskania takich przydziałów są znacznie zmniejszone.Aby wyświetlić oficjalny dokument "postęp w zarządzaniu pamięcią w systemie Windows", odwiedź następującą witrynę sieci Web firmy Microsoft:

[Asset 4009805]http://Download.Microsoft.com/Download/9/c/5/9c5b2167-8017-4BAE-9fde-d599bac8184a/MemMgt.docxAby uzyskać więcej informacji, odwiedź następujące witryny firmy Microsoft w sieci Web:

Problemy z zestawem roboczym programu SQL Server

2001745 Zestaw roboczy przycinanie może negatywnie wpłynąć na wydajność programu SQL, Exchange i systemu operacyjnego w systemie Windows 2003 Uwaga Na komputerze z systemem Windows Server 2008 należy zainstalować dodatek Service Pack 2 (SP2) dla programu SQL Server lub nowszego dodatku Service Pack dla programu SQL Server. Produkty innych firm omówione w tym artykule są produkowane przez firmy niezależne od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych lub w inny sposób, o wydajności lub niezawodności tych produktów.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×