SQL nie startuje – wymagane user rights

17-Mar-2015

SQL Server nie staruje. Cóż zajrzyj do dziennika zdarzeń. Ja znalazłem tu (w Administrative Events):

The MSSQLSERVER service was unable to log on as DOMENA\użytkownik
The MSSQLSERVER service was unable to log on as DOMENA\uzytkownik with the currently configured password due to the following error:
Logon failure: the user has not been granted the requested logon type at this computer.

 Service: MSSQLSERVER
Domain and account: DOMENA\użytkownik
 This service account does not have the required user right „Log on as a service.”

Rzeczywiście. Uruchamiając SQL na koncie domenowym należy zadbać o to, aby konto posiadało uprawnienia do rejestru, plików oraz odpowiednie prawa przyznane w Local Security Policy. Zazwyczaj prawa te nadaje instalator, ale w tym przypadku stało się coś niedobrego.

Krótki rzut oka w dokumentację (https://msdn.microsoft.com/en-us/library/ms143504.aspx). Oto prawa wymagane przez usługę SQL:

  • Log on as a service (SeServiceLogonRight)
  • Replace a process-level token (SeAssignPrimaryTokenPrivilege)
  • Bypass traverse checking (SeChangeNotifyPrivilege)
  • Adjust memory quotas for a process (SeIncreaseQuotaPrivilege)

Mimo iż te uprawnienia są, to nadal występuje ten sam komunikat o błędzie! O co chodzi? Okazało się, że jakimś przypadkiem konto usługi SQL trafiło również do Deny log on as a service… A kiedy  w systemie Windows jeden wpis na coś pozwala, a drugi tego zabrania, to wygrywa zabraniający. Stąd błąd. Usunięcie konta z deny.. spowodowało, że SQL zaczął się uruchamiać.

Dodaj komentarz:

Autor: Rafał Kraik