SSIS: Error deploying SSIS project: A required privilege is not held by the client

16-Lis-2016

Hmm… A required privilege is not held by the client… Jak ci czegoś brakuje, to powiedz co to jest! Niestety Integration Services Deployment Wizard nie chciał powiedieć co go boli…

Skoro brakuje jakiegoś prawa (Local Settings >> Local Policies >> User Rights Assigment) to naprawa SQL powinna pomóc. Ponieważ serwer był testowy, to naprawa była możliwa. Po naprawie serwera (Panel sterowania >> Programy i funkcje >> SQL Server > Repair), ale bez restartu deployment się udał. Super! Ale co jest przyczyną?

Sprawdziłem ponownie jakie prawa miało przypisane konto SQL Server po naprawie. Potem uruchomilem ponownie SQL serwer i IS Deployment Wizard przestał działać.  Sprawdziłem więc znowu jakie prawa miało konto SQL server i… kilka ubyło! Podejrzani to:

„Replace a process level token”,”NT SERVICE\MSSQLSERVER”,”SeAssignPrimaryTokenPrivilege”

„Adjust memory quotas for a process”,”NT SERVICE\MSSQLSERVER”,”SeIncreaseQuotaPrivilege”

„Bypass traverse checking”,”NT SERVICE\MSSQLSERVER”,”SeChangeNotifyPrivilege”

W tym przypadku prawa są definiowane na pozioie zasad grupy, więc w kolejnym kroku była potrzebna pomoc chłopaków z AD.

Rzeczywiście te prawa są wymienione na liście wymaganych przez SQL (https://msdn.microsoft.com/en-us/library/ms143504(v=sql.110).aspx#Windows), więc nie powinno być problemu z ich uzyskaniem.

Często dodaję jeszcze te dwa prawa:

“Perform volume manintanace taksks”, „NT SERVICE\MSSQLSERVER” ,”SeManageVolumePrivilege”

“Lock pages in memory”, „NT SERVICE\MSSQLSERVER”,”SeLockMemoryPrivilege”

do kompletu dodam jeszcze obowiązkowo potrzebne:

„Log on as a service”, „NT SERVICE\MSSQLSERVER”,”SeServiceLogonRight”

Podczas porównywania uprawnień skorzystałem z następującego skryptu powershell,  który ładnie wylistował mi użytkowników i ich prawa (skrypt po przeróbkach pochodzi z http://stackoverflow.com/questions/35344825/powershell-export-user-rights-assignment i jest super!):

Komentarze są wyłączone

Autor: Rafał Kraik