Udostępnij za pomocą


Nawiązywanie połączenia z programem SQL Server przy użyciu ścisłego szyfrowania

Dotyczy: SQL Server 2022 (16.x)

Ścisłe szyfrowanie połączeń wymusza dobre rozwiązania w zakresie zabezpieczeń i sprawia, że ruch programu SQL Server można zarządzać przez standardowe urządzenia sieciowe.

Z tego artykułu dowiesz się, jak nawiązać połączenie z programem SQL Server 2022 (16.x) i nowszymi wersjami przy użyciu ścisłego typu połączenia.

Warunek wstępny

Nawiązywanie połączenia z programem SQL Server przy użyciu aplikacji .NET

Aby uzyskać informacje na temat kompilowania i nawiązywania połączenia z programem SQL Server przy użyciu strict typu szyfrowania, zobacz Składnia parametrów połączenia na temat prawidłowego kompilowania parametrów połączenia. Aby uzyskać więcej informacji na temat nowych właściwości parametrów połączenia, zobacz Dodatkowe zmiany właściwości szyfrowania parametrów połączenia.

Nawiązywanie połączenia przy użyciu nazwy DSN ODBC

Możesz przetestować połączenie z Strict typem szyfrowania połączenia przy użyciu nazwy DSN ODBC do programu SQL Server.

  1. Wyszukaj aplikację ŹRÓDŁA danych ODBC w systemie Windows.

    Zrzut ekranu przedstawiający aplikację źródeł danych O D B C.

  2. Upewnij się, że masz najnowszy sterownik ODBC, patrząc na kartę Sterowniki administratora źródła danych ODBC.

    Zrzut ekranu przedstawiający dostępne sterowniki.

  3. Na karcie System DSN wybierz pozycję Dodaj , aby utworzyć nazwę DSN. Następnie wybierz sterownik ODBC 18 dla programu SQL Server. Wybierz Zakończ Użyjemy tego polecenia, aby przetestować nasze połączenie.

  4. W oknie Tworzenie nowego źródła danych w programie SQL Server podaj nazwę tego źródła danych i dodaj nazwę serwera PROGRAMU SQL Server 2022 (16.x) do serwera. Wybierz Dalej.

    Zrzut ekranu przedstawiający tworzenie źródła danych przy użyciu sterownika O D B C.

  5. Użyj wszystkich wartości domyślnych dla wszystkich ustawień, dopóki nie zostanie wyświetlony ekran z szyfrowaniem połączeń. Wybierz pozycję Ścisłe. Jeśli wprowadzona nazwa serwera różni się od podanej w certyfikacie lub jeśli zamiast tego jest używany adres IP, ustaw wartość Nazwa hosta w certyfikacie na wartość użytą w certyfikacie. Wybierz Zakończ

    Zrzut ekranu przedstawiający rygorystyczny typ szyfrowania.

  6. Po wyświetleniu okna dialogowego ODBC Instalator programu Microsoft SQL Server wybierz przycisk Testuj źródło danych... w celu przetestowania połączenia. Powinno to wymusić strict połączenie z programem SQL Server na potrzeby tego testu.

Możesz również przetestować połączenie z programem SQL Server za strict pomocą szyfrowania przy użyciu sterownika OLE DB z usługą Universal Data Link (UDL).

  1. Aby utworzyć plik UDL w celu przetestowania połączenia, kliknij prawym przyciskiem myszy pulpit i wybierz pozycję Nowy>dokument tekstowy. Musisz zmienić rozszerzenie z txt na udl. Możesz nadać plikowi dowolną nazwę.

    Uwaga / Notatka

    Aby zmienić rozszerzenie z txt na udl. Jeśli rozszerzenie nie jest widoczne, możesz włączyć wyświetlanie rozszerzenia, otwierającwidok>Eksploratora> plikówPokaż>rozszerzenia nazw plików.

  2. Otwórz utworzony plik UDL i przejdź do karty Dostawca , aby wybrać sterownik MICROSOFT OLE DB 19 dla programu SQL Server. Wybierz pozycję Dalej >>.

    Zrzut ekranu przedstawiający ekran dostawcy U D L.

  3. Na karcie Połączenie wprowadź nazwę serwera PROGRAMU SQL Server i wybierz metodę uwierzytelniania używaną do logowania się do programu SQL Server.

    Zrzut ekranu przedstawiający ekran połączenia U D L.

  4. Na karcie Zaawansowane wybierz pozycję Ścisłe w polu Szyfrowanie połączeń. Jeśli wprowadzona nazwa serwera różni się od podanej w certyfikacie lub jeśli zamiast tego jest używany adres IP, ustaw wartość Nazwa hosta w certyfikacie na nazwę hosta używaną w certyfikacie. Po zakończeniu wróć do karty Połączenie .

    Zrzut ekranu przedstawiający zaawansowany ekran U D L.

  5. Wybierz pozycję Testuj połączenie , aby przetestować połączenie z szyfrowaniem strict połączenia.

    Zrzut ekranu przedstawiający ekran połączenia U D L i testowanie połączenia.

Nawiązywanie połączenia za pomocą programu SSMS

Począwszy od wersji 20, można wymusić ścisłe szyfrowanie w programie SQL Server Management Studio (SSMS) na karcie Logowania okna dialogowego Łączenie z serwerem :

Zrzut ekranu przedstawiający okno dialogowe Nawiązywanie połączenia z serwerem w programie SQL Server Management Studio.

Nawiązywanie połączenia z zawsze włączoną grupą dostępności

Począwszy od SQL Server 2025 (17.x), można szyfrować komunikację między klastrem Windows Server Failover a repliką grupy dostępności Always On przy użyciu typu szyfrowania połączenia Strict lub Mandatory. Grupa dostępności może wymuszać szyfrowanie tylko wtedy, gdy jest ono oparte na klastrze trybu failover systemu Windows Server. Inne typy grup dostępności nie obsługują ścisłego szyfrowania.

Kroki różnią się w zależności od tego, czy dostępność już istnieje.

Aby wymusić ścisłe szyfrowanie do nowej grupy dostępności, wykonaj następujące kroki:

  1. Jeśli jeszcze tego nie zrobiono, zaimportuj certyfikat TLS do każdej repliki grupy dostępności zgodnie z wymaganiami dotyczącymi certyfikatów. Uruchom ponownie każde wystąpienie programu SQL Server po zaimportowaniu certyfikatu.
  2. Przetestuj połączenia z każdą repliką programu SQL Server przy użyciu jednej z metod wymienionych w tym artykule, która wymusza szyfrowanie.
  3. UTWÓRZ GRUPĘ DOSTĘPNOŚCI z właściwością Encrypt ustawioną na Strict w CLUSTER_CONNECTION_OPTIONS klauzuli dla grupy dostępności. Gwarantuje to, że wszystkie połączenia z grupą dostępności używają określonego typu szyfrowania.
  4. Jeśli grupa dostępności jest obecnie w trybie online, przełącz grupę dostępności w tryb failover do repliki pomocniczej, aby zastosować nowe ustawienia szyfrowania do grupy dostępności. Jeśli grupa dostępności nie powiedzie się w trybie online, może to być niepoprawne ClusterConnectionOptions ustawienie. Sprawdź cluster.log pod kątem błędów ODBC związanych z niepowodzeniem połączenia klastra z repliką programu SQL Server. Opcjonalnie można przywrócić oryginalną replikę podstawową do oryginalnej repliki podstawowej, gdy nowa replika pomocnicza jest w trybie online i połączona z grupą dostępności.
  5. (Opcjonalnie) Możesz dodatkowo wymusić szyfrowanie, ustawiając opcję Yes na właściwości programu SQL Server Configuration Manager dla protokołu połączenia dla każdej repliki. To ustawienie zapewnia, że wszystkie połączenia z replikami grupy dostępności używają ścisłego szyfrowania. Uruchom ponownie każdą replikę programu SQL Server po zmianie tego ustawienia.

Nawiązywanie połączenia z wystąpieniem klastra trybu failover

Począwszy od programu SQL Server 2025 (17.x), możesz zaszyfrować komunikację między klastrem trybu failover systemu Windows Server a instancją klastra Always On przy użyciu typu szyfrowania połączenia Strict lub Mandatory. Aby to zrobić, wykonaj następujące kroki:

  1. Jeśli jeszcze tego nie zrobiono, zaimportuj certyfikat TLS do każdego węzła klastra trybu failover zgodnie z wymaganiami dotyczącymi certyfikatów. Uruchom ponownie wystąpienie programu SQL Server po zaimportowaniu certyfikatu.
  2. Przetestuj połączenia z wystąpieniem klastra trybu failover przy użyciu jednej z metod wymienionych w tym artykule, która wymusza szyfrowanie.
  3. ALTER SERVER CONFIGURATION z klauzulą CLUSTER_CONNECTION_OPTIONS , aby ustawić Encrypt właściwość na Mandatory lub Strict. Gwarantuje to, że wszystkie połączenia z wystąpieniem klastra trybu failover używają określonego typu szyfrowania.
  4. Przełącz wystąpienie w tryb failover do węzła pomocniczego, aby zastosować nowe ustawienia szyfrowania do wystąpienia klastra trybu failover. Jeśli wystąpienie klastra trybu failover nie powiedzie się w trybie online, może to być ClusterConnectionOptions nieprawidłowe ustawienie. Sprawdź cluster.log pod kątem błędów ODBC związanych z niepowodzeniem połączenia klastra z wystąpieniem programu SQL Server. Opcjonalnie można przywrócić wystąpienie do oryginalnego węzła podstawowego po przełączeniu nowego węzła pomocniczego w tryb online i nawiązać połączenie z wystąpieniem klastra trybu failover.
  5. (Opcjonalnie) Możesz dodatkowo wymusić szyfrowanie, ustawiając opcję Yes na właściwości programu SQL Server Configuration Manager dla protokołu połączenia dla każdego węzła w klastrze. To ustawienie zapewnia, że wszystkie połączenia z wystąpieniem klastra trybu failover używają ścisłego szyfrowania. Wprowadź tę zmianę w węźle pomocniczym, przełącz wystąpienie w tryb failover, a następnie wprowadź zmianę w węźle podstawowym.

Wymuszanie ścisłego szyfrowania za pomocą programu SQL Server Configuration Manager

Możesz wymusić ścisłe szyfrowanie przy użyciu programu SQL Server Configuration Manager, począwszy od programu SQL Server 2022 (16.x). W tym celu wykonaj następujące kroki:

  1. Otwórz program SQL Server Configuration Manager.

  2. W okienku po lewej stronie rozwiń węzeł Konfiguracja sieci programu SQL Server i wybierz pozycję Protokoły dla pozycji [InstanceName].

  3. Kliknij prawym przyciskiem myszy pozycję TCP/IP, a następnie wybierz pozycję Właściwości.

  4. W oknie dialogowym Właściwości protokołu TCP/IP przejdź do karty Flagi , a następnie wybierz pozycję Tak dla opcji Wymuszaj ścisłe szyfrowanie :

    Zrzut ekranu przedstawiający opcję Wymuszanie szyfrowania ścisłego w programie SQL Server Configuration Manager.

  5. Uruchom ponownie wystąpienie programu SQL Server podczas okna obsługi, aby zastosować zmiany.

Uwagi

Jeśli widzisz wartość SSL certificate validation failed, sprawdź, czy:

  • Certyfikat serwera jest ważny na maszynie używanej do testowania
  • Co najmniej jedna z następujących wartości jest prawdziwa:
    • Dostawca programu SQL Server pasuje do nazwy urzędu certyfikacji lub jednej z nazw DNS w certyfikacie.
    • HostNameInCertificate właściwość parametrów połączenia jest zgodna z nazwą urzędu certyfikacji lub jedną z nazw DNS w certyfikacie.