Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
- SQL Server 2022 (16.x) lub nowszy
- Sterownik ODBC lub OLE DB dla programu SQL Server
- Sterownik ODBC dla programu SQL Server w wersji 18.1.2.1 lub nowszej
- Sterownik OLE DB dla programu SQL Server w wersji 19.2.0 lub nowszej
- Utwórz i zainstaluj certyfikat TLS w programie SQL Server. Aby uzyskać więcej informacji, zobacz Włączanie szyfrowanych połączeń z aparatem bazy danych
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.
Wyszukaj aplikację ŹRÓDŁA danych ODBC w systemie Windows.
Upewnij się, że masz najnowszy sterownik ODBC, patrząc na kartę Sterowniki administratora źródła danych ODBC.
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.
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.
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
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ć
strictpołączenie z programem SQL Server na potrzeby tego testu.
Nawiązywanie połączenia przy użyciu usługi Universal Data Link
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).
Aby utworzyć plik UDL w celu przetestowania połączenia, kliknij prawym przyciskiem myszy pulpit i wybierz pozycję Nowy>dokument tekstowy. Musisz zmienić rozszerzenie z
txtnaudl. Możesz nadać plikowi dowolną nazwę.Uwaga / Notatka
Aby zmienić rozszerzenie z
txtnaudl. Jeśli rozszerzenie nie jest widoczne, możesz włączyć wyświetlanie rozszerzenia, otwierającwidok>Eksploratora> plikówPokaż>rozszerzenia nazw plików.Otwórz utworzony plik UDL i przejdź do karty Dostawca , aby wybrać sterownik MICROSOFT OLE DB 19 dla programu SQL Server. Wybierz pozycję Dalej >>.
Na karcie Połączenie wprowadź nazwę serwera PROGRAMU SQL Server i wybierz metodę uwierzytelniania używaną do logowania się do programu SQL Server.
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 .
Wybierz pozycję Testuj połączenie , aby przetestować połączenie z szyfrowaniem
strictpołą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 :
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:
- 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.
- Przetestuj połączenia z każdą repliką programu SQL Server przy użyciu jednej z metod wymienionych w tym artykule, która wymusza szyfrowanie.
-
UTWÓRZ GRUPĘ DOSTĘPNOŚCI z właściwością
Encryptustawioną naStrictwCLUSTER_CONNECTION_OPTIONSklauzuli dla grupy dostępności. Gwarantuje to, że wszystkie połączenia z grupą dostępności używają określonego typu szyfrowania. - 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
ClusterConnectionOptionsustawienie. 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. - (Opcjonalnie) Możesz dodatkowo wymusić szyfrowanie, ustawiając opcję
Yesna 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:
- 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.
- Przetestuj połączenia z wystąpieniem klastra trybu failover przy użyciu jednej z metod wymienionych w tym artykule, która wymusza szyfrowanie.
-
ALTER SERVER CONFIGURATION z klauzulą
CLUSTER_CONNECTION_OPTIONS, aby ustawićEncryptwłaściwość naMandatorylubStrict. Gwarantuje to, że wszystkie połączenia z wystąpieniem klastra trybu failover używają określonego typu szyfrowania. - 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ć
ClusterConnectionOptionsnieprawidł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. - (Opcjonalnie) Możesz dodatkowo wymusić szyfrowanie, ustawiając opcję
Yesna 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:
Otwórz program SQL Server Configuration Manager.
W okienku po lewej stronie rozwiń węzeł Konfiguracja sieci programu SQL Server i wybierz pozycję Protokoły dla pozycji [InstanceName].
Kliknij prawym przyciskiem myszy pozycję TCP/IP, a następnie wybierz pozycję Właściwości.
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 :
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.
-
HostNameInCertificatewłaściwość parametrów połączenia jest zgodna z nazwą urzędu certyfikacji lub jedną z nazw DNS w certyfikacie.