Problem wystąpił podczas instalacji oprogramowania Optima. Niby wszystko było przygotowane: serwer SQL działał sobie na koncie użytkownika domenowego, użytkownicy mogli się podłączyć do baz danych, czyli generalnie rzecz biorąc super!
Na koniec jednak okazało się, że potrzebna jest jeszcze usługa licencji HASP. Instalacja przebiegła pomyślnie, usługa się uruchomiła, tylko… jedno z drugim nie mogło się dogadać! A wszystko to działo się na serwerze,. który jednocześnie był kontrolerem małej domeny i SQL Servera.
Prawdopodobnie usługa HASP musiała coś zapisać do SQL Servera lub odwrotnie. Ponieważ działały na różnych kontach lub brakowało im uprawnień aplikacja Optima odmawiała działania.
Nie pomogło przeisntalowanie usługi HASP do uruchamiania na koncie lokalnego użytkownika. Pozostawałoby spróbować przestawić konto na którym działa SQL Server na usługę lokalną. Niestety:
„You cannot run SQL Server services on a domain controller under a local service account or a network service account. On Windows Server 2003, SQL Server services can run under a domain account or a local system account.”
Skoro jednak podejrzewam, że przyczyna leży w uprawnieniach, to może chociaż na chwilę podnieść uprawnienia konta domenwego na którym działa SQL Server!? Dodałem konto domenowe (na którym działa SQL Server) do grupy administratorzy. Zrobiłem restart usług i zadziałało! Teraz już tylko kwestia wyrzucenia konta z grupy administratorzy i zrestartowania usługi SQL i HASP i po sprawie!
Uzupełnienie:
Jak się poszuka, to znajduje się jeszcze lepsze rozwiązania. Oto opis rozwiązania problemu ze strony
http://download.comarch.com/wersje_pliki/opisy/optima/dokumentacja/17.0.1/Comarch_OPT!MA_17_SerwisKluczaHASP.pdf
Uwaga: Od wersji 17 Comarch OPT!MA Serwis Klucza Hasp nie wymaga, aby usługa Microsoft
SQL Server 2005 była uruchamiana na koncie systemowym „local system”. Wystarczy domyślne
konto „network service”.
Jednakże jeżeli zaszłaby potrzeba uruchomienia usługi Microsoft SQL Server 2005, która współpracuje z Serwisem
Klucza Hasp na innej niż domyślne konto „Network service” to można to zrobić za pomocą poniższych kroków:
1. Należy uruchomić polecenie: dcomcnfg.exe
2. Tam znaleźć „Usługi Składowe/Komputery/Mój Komputer/Konfiguracja DCOM/HASPSrv” i przejść do edycji
jego właściwości.
3. We właściwościach przejść na zakładkę „zabezpieczenia”, w grupie „uprawnienia uruchamiania i aktywacji”
wybrać „dostosuj” i kliknąć „Edytuj”.
4. Dodać na liście użytkownika, na którym pracuje usługa SQL i zaznaczyć mu opcję „Aktywacja lokalna”
5. Dodatkowo w grupie „Uprawnienia konfiguracji” dla tego samego użytkownika nadać uprawnienia odczytu.
6. Zatwierdzić zmiany.
7. Zrestartować usługę HASPSrv.