-T 845, czyli lock pages w praktyce

by Marcin Goł on June 21st, 2009

Jak uruchomić SQL Server 2008 SP1 CU2 x64 Standard Edition z opcją Locked Pages in memory ???

Potrzebujemy:

  1. DBA – sztuk: 1
  2. Instancja SQL Server 2008 SP1 CU2 x64 Standard Edition – sztuk: 1
  3. 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):

lck-2

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.

lck-3

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:

lck-4

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:

lck-5

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ć:

lck-6

No dobra podsumowując:

  1. SQL w odpowiedniej wersji (dla 2k8 jest to minimum: 10.0.2714.0)
  2. Ustawienie opcji max server memory (MB)
  3. Nadanie uprawnień lock pages in memory dla konta na jakim pracuje SQL Server
  4. Ustawienie flagi uruchomieniowej 845 do parametrów startowych
  5. Restart usługi SQL

Jeśli wszystko zrobiliście dobrze w jednej z pierwszych linii errorlogu powinniście zobaczyć następujący wpis:

lck-7

Który jak się pewnie domyślacie wróży spokojny sen :) <oby…>

From → SQL Server x64

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS