Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Połączenia w SQL Server Management Studio (SSMS)

Termin Definicja
Połączenia w SQL Server Management Studio (SSMS)

Połączenia w Management Studio konfiguruje się podając nazwę serwera, instancję i sposób uwierzytelniania.

Elementy połączenia z silnikiem SQL Server

W SQL Server Management Studio połączenie z bazą danych rozpoczyna się od okna „Connect to Server”. W polu „Server type” wybiera się „Database Engine”, ponieważ SSMS może łączyć się także z innymi składnikami platformy SQL Server, między innymi usługami Analysis Services, Reporting Services lub Integration Services. Dla zwykłej pracy z tabelami, widokami, procedurami i zapytaniami należy wskazać właśnie silnik Database Engine.

Pole „Server name” określa adres instancji SQL Server. Dla instancji domyślnej często stosuje się nazwę komputera, nazwę hosta w sieci albo adres IP, na przykład DB01 lub 192.168.1.20. Instancję nazwaną zapisuje się zwykle jako DB01\PRODUKCJA. Można również wskazać konkretny port TCP w formacie DB01,51433. Przecinek przed numerem portu jest składnią używaną przez klienta SQL Server do rozdzielenia nazwy serwera i portu. Nazwa serwera nie jest nazwą konkretnej bazy danych; bazę wybiera się później w Object Explorerze albo w opcjach połączenia.

Uwierzytelnianie i zakres uprawnień sesji

SSMS udostępnia przede wszystkim uwierzytelnianie Windows oraz uwierzytelnianie SQL Server. Przy uwierzytelnianiu Windows klient przekazuje do serwera bieżące poświadczenia konta systemu Windows lub poświadczenia wskazane przy uruchamianiu programu. SQL Server sprawdza wtedy członkostwo użytkownika w domenie albo lokalnym systemie Windows oraz mapowanie tego użytkownika na login serwera. Przy uwierzytelnianiu SQL Server podaje się login utworzony w silniku SQL Server i jego hasło. Ten tryb musi być dozwolony w konfiguracji instancji; sama znajomość loginu nie wystarczy, jeśli serwer działa wyłącznie w trybie Windows Authentication.

Login serwera nie jest tym samym co użytkownik konkretnej bazy danych. Po zalogowaniu SQL Server ustala kontekst bezpieczeństwa, a następnie sprawdza, do jakich baz, schematów i obiektów konto ma dostęp. Członkostwo w roli serwerowej, takiej jak sysadmin, daje uprawnienia na poziomie całej instancji, natomiast role bazodanowe dotyczą określonej bazy. Z tego powodu poprawne nawiązanie połączenia nie oznacza automatycznie możliwości odczytu każdej tabeli ani wykonania każdej instrukcji. SSMS może otworzyć Object Explorer, lecz lista obiektów i możliwość ich modyfikowania zależą od uprawnień przyznanych przez SQL Server.

Nazwa instancji, port TCP i szyfrowanie kanału

Instancja domyślna SQL Server korzysta zazwyczaj z portu TCP 1433, ale administrator może skonfigurować inny port. Instancje nazwane często używają portów dynamicznych, dlatego połączenie zapisane jako nazwa-komputera\NAZWA_INSTANCJI może wymagać działania usługi SQL Server Browser. Browser nasłuchuje na porcie UDP 1434 i pomaga klientowi ustalić port przypisany do instancji nazwanej. Jeżeli ta usługa jest wyłączona albo ruch sieciowy jest filtrowany, można pominąć rozwiązywanie nazwy instancji i wpisać bezpośrednio adres serwera oraz port, na przykład DB01,51433.

W nowszych konfiguracjach klienta połączenie może wymagać szyfrowania. Opcje dostępne w oknie połączenia pozwalają określić sposób negocjowania szyfrowanego kanału oraz to, czy certyfikat serwera ma być zaufany bez pełnej walidacji łańcucha certyfikatów. Zaznaczenie „Trust server certificate” może pomóc w środowisku testowym, gdy instancja używa certyfikatu niewydanego przez zaufany urząd certyfikacji, ale zmienia sposób weryfikacji tożsamości serwera. W środowisku produkcyjnym należy sprawdzić nazwę hosta, certyfikat i konfigurację szyfrowania zamiast traktować tę opcję jako uniwersalne rozwiązanie problemu.

Rozpoznawanie przyczyn nieudanego połączenia w SSMS

Jeżeli SSMS nie może połączyć się z instancją, najpierw trzeba rozdzielić problem nazwy, sieci, usługi i uwierzytelniania. Błąd wskazujący na brak odnalezienia serwera może wynikać z literówki w nazwie hosta, nieprawidłowej nazwy instancji, niedostępnego DNS albo zamkniętego portu TCP. Gdy usługa SQL Server nie działa, klient nie nawiąże sesji nawet przy poprawnym adresie. W przypadku połączeń do instancji nazwanej dodatkowym elementem może być niedostępna usługa SQL Server Browser lub zablokowany port UDP 1434. Wpisanie jawnego portu pozwala sprawdzić, czy problem dotyczy samego wykrywania instancji.

Komunikat „Login failed for user” oznacza inny etap awarii: serwer został osiągnięty, lecz odrzucił próbę uwierzytelnienia. Przy kodzie 18456 trzeba zweryfikować wybrany tryb uwierzytelniania, nazwę loginu, hasło, status konta oraz tryb pracy instancji. Dla kont Windows istotne jest także to, czy używane konto ma dostęp do serwera i czy łączy się właściwa tożsamość. Po udanym logowaniu warto sprawdzić nazwę instancji, bieżącą bazę oraz uprawnienia, wykonując kontrolne zapytania, takie jak SELECT @@SERVERNAME;, SELECT DB_NAME(); i SELECT SUSER_SNAME();. Wyniki pokazują odpowiednio nazwę serwera widoczną dla silnika, aktualny kontekst bazy oraz login używany przez sesję.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę