Nasze serwery Microsoft SQL działają na serwerach Windows, które są częścią domeny Active Directory.
Aby ułatwić zarządzanie użytkownikami, konfiguracja autoryzacji SQL odbywa się za pomocą grup użytkowników usługi Active Directory, jak wyjaśniono w tym poście .
Teraz działa to dobrze, dopóki wszyscy pracują w domenie. Ludzie logują się na komputer przy użyciu poświadczeń AD i mogą łączyć się z serwerem SQL przy użyciu „Uwierzytelniania systemu Windows”.
Problem polega na tym, że nasi użytkownicy będą również pracować na innych komputerach klienckich, które nie są częścią domeny Active Directory (a dodanie ich do domeny nie jest opcją).
Miałem nadzieję, że mogą po prostu używać swoich poświadczeń AD do logowania się na serwerze przy użyciu uwierzytelniania AD, jak wspomniano na ekranie logowania do SQL Server.
Nie wydaje się to jednak działać.
Logowanie za pomocą Acive Directory Password Authentication powoduje problemy z certyfikatem. Błąd: „Łańcuch certyfikatów został wydany przez organ, który nie jest zaufany”.
Cannot connect to x.x.x.x.
===================================
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)
------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)
Co dziwne, jeśli przejdę do ustawień „opcji” w oknie logowania i zaznaczę pole „zaufaj certyfikatowi serwera”. Nagle NIE jestem w stanie połączyć się z serwerem i po prostu pojawia się błąd.
Cannot connect to x.x.x.x.
===================================
Login failed for user ''. (.Net SqlClient Data Provider)
Czy konfiguracja, którą chcę osiągnąć, jest możliwa? A jeśli tak, jak mogę to osiągnąć? :)
Podsumowując: Serwery SQL działają w domenie AD, użytkownicy mają poświadczenia AD, ale muszą także mieć możliwość logowania się z komputerów klienckich NIE będących częścią domeny AD za pomocą swoich poświadczeń AD.
źródło
C:\WINDOWS\system32\cliconfg.exe
i sprawdź, czy szyfrowanie protokołem wymuszonym jest włączone. Jeśli jest wyłączonyrunas /netonly /user:domain\username "c:\path\ssms.exe"
mssqltips.com/sqlservertip/3250/…Odpowiedzi:
Komunikat o błędzie jest taki, że certyfikaty zostały wydane przez niezaufany organ. Najprawdopodobniej byłaby to Twoja domena AD.
Kilka obejść, które możesz spróbować:
TrustServerCertificate=True
sekcji Dodatkowe parametry połączenia. To w zasadzie mówi SSMS, że tak, wiesz, po prostu zrób to.runas /netonly /user:domain\username "C:\path_to\ssms.exe"
nigdy nie robiłem tego z SSMS, ale warto spróbować, ponieważ OP wydaje się być w podobnej sytuacji do ciebie (i ufam, że facet odpowiada).W każdym razie, mam nadzieję, że jedno z tych obejść załatwi sprawę.
źródło
runas /netonly /user:domain\username
do początku ciąg skopiowanego skrótu. Działało dobrze, chociaż pojawił się także wiersz polecenia, w którym mogli wprowadzić swoje poświadczenia.Najprostszym sposobem jest kliknięcie prawym przyciskiem myszy „Microsoft SQL Server Management Studio” - „więcej” wybierz „Uruchom jako inny użytkownik”. To zadziałało dla mnie. Pomyślałem, że jeśli wybiorę „Active Directory - hasło” z ekranu logowania, zrobiłbym to samo, ale ... niestety nie.
źródło