Witajcie. Mam pewien problem. Otóż mam uzyskać pomiędzy dwiema maszynami zasadę klient-serwer. No i wszystko byłoby ok, gdyby to działało. Niestety. Na serwerze zainstalowałem SQL 2008 wraz z Server Management Studio i SQL Server Configuration Manager. Na serwerze wszystko jest ok, mogę się poprzez Server Management Studio zalogować do bazy (autoryzacja Windows). Niestety nie mogę dostać się do bazy z drugiego komputera. Mam komunikat o braku dostępu do bazy lub o jej nieistnieniu. Co jest nieprawdą. Na serwerze wszystko 'hula". I teraz nie wiem co jest przyczyną-wyłączałem zaporę, sprawdzałem połączenie-oba komputery się widzą.
bez domeny będzie ciężko uzyskać dostęp ze stacji do serwera używając autoryzacji windows. czasami działa ustawienie na obu maszynach dokładnie tych samych nazw użytkowników i tych samych haseł.
Generalnie przy ustawienie “mixed mode”, masz dwóch rodzajów użytkowników:
-
Użytkowników domenowych/lokalnych, których autentykuje Windows
-
Użytkowników SQLowych, których autentykuje sam SQL
Autoryzacja jest oczywiście zawsze po stronie SQL’a. Oba typy użytkowników musisz najpierw dodać do serwera, a później nadać im odpowiednie uprawienia (mogą być różne dla różnych baz), aby mogli się zalogować. Generalnie jeśli twoja aplikacja/usługa ma działać na statycznym userze (czyli niezależnie od tego kto/co ją uruchomi), to należy użyć użytkownika SQL’owego. Jeśli w zależności od tego kto uruchomi aplikację ma mieć różne uprawnienia użyj użytkownika domenowego (jest to też o tyle bezpieczniejsze, że nie musisz trzymać hasła w konfiguracji - co dla np. stron WWW nie jest problemen, ale dla zwykłej aplikacji już tak).
Możesz obejrzeć sobie - https://www.youtube.com/watch?v=c3gPdKaLlkg Piękny paszto-angielski
Spoko, czyli być może jest to, co podejrzewałem. A da sie zaznaczyć nie “mixed” tylko np. samych użytkowników domenowych/lokalnych, których autentykuje Windows (użytkownik serwera loguje się bez problemu). Gdy na serwerze chce wejść przez użytkownika SQLowego to już to nie działa i sypie błędami. ?
nie da się. albo używasz mixed mode i zakładasz userów SQL’owych albo korzystasz z autentykacji windows czyli przez kontroler domeny. w konfiguracji instancji włączasz mixed mode i restart sql’a i tyle. wcześniej tylko załóż userów sql’owych i w jednym z nich zaznacz rolę sysadmin