-T 845, czyli lock pages w praktyce
Jak uruchomić SQL Server 2008 SP1 CU2 x64 Standard Edition z opcją Locked Pages in memory ???
Potrzebujemy:
- DBA – sztuk: 1
- Instancja SQL Server 2008 SP1 CU2 x64 Standard Edition – sztuk: 1
- 5 minut wolnego czasu
Instalacja CU2 u mnie skończyła się zakończyła się statusem: Success :) Jak tylko instalacja się zakończyła uruchomiłem SSMS i SQL zaczął zgłaszać się (zwróćcie uwagę na to że Windows Server 2k8 mam z SP2):

Dla własnego dobrego samopoczucia – warto od razu ustawić ile maksymalnie ramu może zjeść SQL – dzięki temu że ustawię ‘max server memory (MB)’ na bezpiecznym poziomie nie ryzykuję sytuację że SQL Server zje większość RAMu na serwerze – zostawi 5-50MB wolnego i … generalnie wszystko będzie działać tyle że część aplikacji wyleci do swapa (i oby to nie były komponenty systemu operacyjnego) – stąd lepiej wyznaczyć sobie granicę! A no i właśnie ‘max server memory (MB)’ oznacza jaką ilość pamięci SQL zje na cache danych a nie na cały swój proces.

Ponieważ nie uruchamiam SQL Servera na koncie Local System które w standardzie ma uprawnienia „Lock pages In memory” musze kontu na jakim uruchamiam SQL Server nadać odpowiednie uprawnienia. Można to zrobić odpalając konsole gpedit.msc (step by step tutaj: http://msdn.microsoft.com/en-us/library/ms190730.aspx), u mnie wyglądało to tak:

Kolejnym krokiem jest dodanie magicznej flagi uruchomieniowej, uruchamiany SQL Server Configuration Manager i w węźle SQL Server Services przechodzimy do właściwości usłgi SQL’a:

A tam w zaawansowanych po średniku dodajemy –T 845, ważne żeby ciąg jaki dodamy wyglądał następująco: <średnik><minus><T><spacja><845> – inaczej np. jak będzie <średnik><spacja><minus><T><spacja><845> to nie będzie działać:

No dobra podsumowując:
- SQL w odpowiedniej wersji (dla 2k8 jest to minimum: 10.0.2714.0)
- Ustawienie opcji max server memory (MB)
- Nadanie uprawnień lock pages in memory dla konta na jakim pracuje SQL Server
- Ustawienie flagi uruchomieniowej 845 do parametrów startowych
- Restart usługi SQL
Jeśli wszystko zrobiliście dobrze w jednej z pierwszych linii errorlogu powinniście zobaczyć następujący wpis:
![]()
Który jak się pewnie domyślacie wróży spokojny sen :) <oby…>