Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server 2022 (16.x) och senare versioner
Strikt anslutningskryptering tillämpar goda säkerhetsmetoder och gör SQL Server-trafik hanterbar av standardnätverksenheter. Strikt kryptering använder TDS 8.0 (Tabular Data Stream), som omsluter TDS-sessionen i TLS (Transport Layer Security) för kryptering från slutpunkt till slutpunkt.
I den här artikeln får du lära dig hur du ansluter till SQL Server 2022 (16.x) och senare versioner med den strikta anslutningstypen.
Förutsättning
- SQL Server 2022 (16.x) eller senare
- ODBC- eller OLE DB-drivrutin för SQL Server
- ODBC-drivrutin för SQL Server version 18.1.2.1 eller senare
- OLE DB-drivrutin för SQL Server version 19.2.0 eller senare
- Skapa och installera ett TLS-certifikat (Transport Layer Security) för att SQL Server. Mer information finns i Aktivera krypterade anslutningar till databasmotorn
Ansluta till SQL Server med hjälp av ett .NET-program
Information om hur du skapar och ansluter till SQL Server med hjälp av krypteringstypen strict finns i Syntax för anslutningssträngar om hur du skapar anslutningssträngen korrekt. Mer information om de nya egenskaperna för anslutningssträngar finns i Ytterligare ändringar av krypteringsegenskaper för anslutningssträngar.
Ansluta med en ODBC DSN
Du kan testa en anslutning med Strict anslutningskrypteringstypen med hjälp av en ODBC DSN till SQL Server.
Sök efter ODBC Data Sources-appen i Windows.
Kontrollera att du har den senaste ODBC-drivrutinen genom att titta på fliken Drivrutiner för ODBC-datakälladministratör.
På fliken System-DSN väljer du Lägg till för att skapa ett DSN. Välj sedan ODBC-drivrutinen 18 för SQL Server. Välj Slutför. Vi ska använda detta för att testa vår anslutning.
I fönstret Skapa en ny datakälla till SQL Server anger du ett namn för den här datakällan och lägger till ditt SQL Server 2022-servernamn (16.x) i Server. Välj Nästa.
Använd alla standardvärden för alla inställningar tills du kommer till skärmen med anslutningskryptering. Välj Strikt. Om servernamnet som du angav skiljer sig från det i certifikatet eller om IP-adressen används i stället anger du HostName i certifikatet till det som används i certifikatet. Välj Slutför.
När dialogrutan ODBC Microsoft SQL Server-installationsprogrammet visas väljer du knappen Testa datakälla... för att testa anslutningen. Detta bör framtvinga
strictanslutningen till SQL Server för det här testet.
Ansluta med Universal Data Link
Du kan också testa anslutningen till SQL Server med kryptering med strict hjälp av OLE DB-drivrutinen med Universal Data Link (UDL).
Om du vill skapa en UDL-fil för att testa anslutningen högerklickar du på skrivbordet och väljer Nytt>textdokument. Du måste ändra tillägget från
txttilludl. Du kan ge filen valfritt namn.Anmärkning
Du måste kunna se tilläggets namn för att kunna ändra tillägget från
txttilludl. Om du inte kan se tillägget kan du aktivera visning av tillägget genom att öppna Filutforskarens>vy>Visa>filnamnstillägg.Öppna UDL-filen som du skapade och gå till fliken Provider för att välja Microsoft OLE DB Driver 19 för SQL Server. Välj Nästa >>.
På fliken Anslutning anger du ditt SQL Server-servernamn och väljer den autentiseringsmetod som du använder för att logga in på SQL Server.
På fliken Avancerat väljer du Strikt föranslutningskryptering. Om servernamnet som du angav skiljer sig från det i certifikatet eller om IP-adressen används i stället anger du Värdnamn i certifikatet till det som används i certifikatet. Gå tillbaka till fliken Anslutning när du är klar.
Välj Testa anslutning för att testa anslutningen med anslutningskryptering
strict.
Ansluta med SSMS
Från och med version 20 kan du tillämpa strikt kryptering i SQL Server Management Studio (SSMS) på fliken Inloggningar i dialogrutan Anslut till server :
Ansluta till en AlwaysOn-tillgänglighetsgrupp
Från och med SQL Server 2025 (17.x) kan du kryptera kommunikationen mellan Windows Server-redundansklustret och en AlwaysOn-tillgänglighetsgruppreplik med hjälp av krypteringstypen Strict eller Mandatory anslutningskryptering. Tillgänglighetsgruppen kan bara framtvinga kryptering om den baseras på ett Windows Server-redundanskluster. Andra typer av tillgänglighetsgrupper stöder inte strikt kryptering.
Anmärkning
Kryptering för databasspeglingsslutpunkter konfigureras separat och TLS stöds inte. Mer information finns i Transportsäkerhet i tillgänglighetsgrupper och databasspegling.
Stegen skiljer sig åt beroende på om din tillgänglighet redan finns eller inte.
Följ dessa steg för att tvinga fram strikt kryptering till en ny tillgänglighetsgrupp:
- Om du inte redan har gjort det importerar du TLS-certifikatet till varje replik av tillgänglighetsgruppen, enligt certifikatkraven. Starta om varje SQL Server-instans när du har importerat certifikatet.
- Testa anslutningar till varje SQL Server-replik med någon av de metoder som anges i den här artikeln som framtvingar kryptering.
-
CREATE AVAILABILITY GROUP med egenskapen
Encryptinställd påStrictiCLUSTER_CONNECTION_OPTIONS-satsen för tillgänglighetsgruppen. Detta säkerställer att alla anslutningar till tillgänglighetsgruppen använder den angivna krypteringstypen. - Om tillgänglighetsgruppen är online, överför tillgänglighetsgruppen till en sekundär replik för att tillämpa de nya krypteringsinställningarna på tillgänglighetsgruppen. Om tillgänglighetsgruppen inte kan komma online kan det bero på
ClusterConnectionOptionsatt den inte är korrekt inställd. Kontrollera cluster.log för ODBC-fel relaterade till att klustret inte kunde ansluta till SQL Server-repliken. Valfritt kan du återställa tillgänglighetsgruppen till den ursprungliga primära repliken efter att den nya sekundära repliken är online och ansluten till tillgänglighetsgruppen. - (Valfritt) Du kan ytterligare framtvinga kryptering genom att ange alternativet Tvinga strikt kryptering till
Yesi SQL Server Configuration Manager-egenskaper för anslutningsprotokollet för varje replik. Den här inställningen säkerställer att alla anslutningar till tillgänglighetsgruppens repliker använder strikt kryptering. Starta om varje SQL Server-replik när du har ändrat den här inställningen.
Ansluta till en redundansklusterinstans
Från och med SQL Server 2025 (17.x) kan du kryptera kommunikationen mellan ditt Windows Server-redundanskluster och en AlwaysOn-redundansklusterinstans med hjälp av krypteringstypen Strict eller Mandatory anslutningskryptering. Gör detta genom att följa dessa steg:
- Om du inte redan har gjort det importerar du TLS-certifikatet till varje nod i redundansklustret enligt certifikatkraven. Starta om SQL Server-instansen när du har importerat certifikatet.
- Testa anslutningar till redundansklusterinstansen med någon av de metoder som anges i den här artikeln som tillämpar kryptering.
-
ALTER SERVER CONFIGURATION med klausulen
CLUSTER_CONNECTION_OPTIONSför att ange egenskapenEncrypttillMandatoryellerStrict. Detta säkerställer att alla anslutningar till redundansklusterinstansen använder den angivna krypteringstypen. - Överför instansen till en sekundär nod för att tillämpa de nya krypteringsinställningarna på failoverklusterinstansen. Om redundansklusterinstansen inte kan komma online kan det bero på att
ClusterConnectionOptionsinte är korrekt inställd. Kontrollera cluster.log för ODBC-fel relaterade till att klustret inte kan ansluta till SQL Server-instansen. Du kan också återställa instansen till den ursprungliga primära noden när den nya sekundära noden är online och ansluten till redundansklusterinstansen. - (Valfritt) Du kan ytterligare framtvinga kryptering genom att ange alternativet Tvinga strikt kryptering till
Yesi SQL Server Configuration Manager-egenskaper för anslutningsprotokollet för varje nod i klustret. Den här inställningen säkerställer att alla anslutningar till redundansklusterinstansen använder strikt kryptering. Gör den här ändringen på den sekundära noden, gör en failover av instansen till den och gör sedan ändringen på den primära noden.
SQL Server Agent anslutningskryptering
Från och med SQL Server 2025 (17.x) använder SQL Server Agent Microsoft ODBC-drivrutin 18 för SQL Server, som stöder TDS 8.0 och TLS 1.3. SQL Server Agent justerar automatiskt anslutningskryptering så att den matchar hur den SQL Server instansen konfigureras.
Så här avgör SQL Server Agent kryptering
När SQL Server Agent startar frågar den följande registernycklar på den lokala datorn för att fastställa krypteringsnivån som konfigurerats för SQL Server:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryptionHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName(ny i SQL Server 2025 (17.x))
Baserat på dessa värden väljer SQL Server Agent dess anslutningsläge:
- Om Force Strict Encryption är aktiverat ansluter SQL Server Agent med hjälp av
strict(TDS 8.0). - Om Force Encryption är aktiverat ansluter SQL Server Agent med
mandatory(TDS 7.x). - Om inget av dem är aktiverat ansluter SQL Server Agent med hjälp av
optional(TDS 7.x).
Lokala T-SQL-jobbsteg ärver samma krypteringskonfiguration som SQL Server Agent-tjänsten. Om SQL Server Agent ansluter med strictanvänder T-SQL-jobb som körs lokalt på servern samma alternativ.
Important
TLS 1.3 fungerar bara med strikt kryptering. Om SQL Server-instansen bara har TLS 1.3 aktiverat på OS-nivå men endast Framtvinga kryptering har angetts (inte Tvinga strikt kryptering), kan SQL Server Agent inte starta eftersom mandatory och optional lägen kräver TDS 7.x, vilket inte är kompatibelt med TLS 1.3.
Konfigurationsmatris för TLS och kryptering
| TLS-versionen är aktiverad | Konfigurationsinställning | SQL Server Agent-resultat | Notes |
|---|---|---|---|
| Endast TLS 1.3 | Framtvinga strikt kryptering | Ansluter korrekt | TDS 8.0 använder strikt kryptering |
| Endast TLS 1.3 | Framtvinga kryptering | Det går inte att ansluta | TLS 1.3 kräver strikt |
| Endast TLS 1.3 | Ingen | Det går inte att ansluta | TLS 1.3 kräver strikt kryptering |
| Endast TLS 1.2 | Framtvinga strikt kryptering | Ansluter korrekt | TDS 8.0 kan använda TLS 1.2 |
| Endast TLS 1.2 | Framtvinga kryptering | Ansluter korrekt | TDS 7.x med obligatoriskt |
| Endast TLS 1.2 | Ingen | Ansluter korrekt | TDS 7.x med tillval |
| TLS 1.2 och TLS 1.3 | Framtvinga strikt kryptering | Ansluter korrekt | TDS 8.0 använder strikt kryptering |
| TLS 1.2 och TLS 1.3 | Framtvinga kryptering | Ansluter korrekt | TDS 7.x med obligatoriskt |
| TLS 1.2 och TLS 1.3 | Ingen | Ansluter korrekt | TDS 7.x med tillval |
Kontrollera SQL Server Agents förhandlade kryptering
När SQL Server Agent ansluter kör du följande fråga för att bekräfta krypteringsläget:
SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';
Kolumnen encrypt_option returnerar TRUE när SQL Server Agent ansluts med kryptering.
En översikt över själva SQL Server Agent finns i SQL Server Agent.
Framtvinga strikt kryptering med SQL Server Configuration Manager
Du kan tillämpa strikt kryptering med SQL Server Configuration Manager från och med SQL Server 2022 (16.x). Gör det genom att följa dessa steg:
Öppna SQL Server Configuration Manager.
I den vänstra rutan expanderar du SQL Server Network Configuration och väljer Protokoll för [InstanceName].
Högerklicka på TCP/IP och välj Egenskaper.
I dialogrutan TCP/IP-egenskaper går du till fliken Flaggor och väljer sedan Ja för alternativet Tvinga strikt kryptering :
Starta om SQL Server-instansen under ett underhållsperiod för att tillämpa ändringarna.
Anmärkningar
Om du ser SSL certificate validation failedkontrollerar du följande:
- Servercertifikatet är giltigt på den dator som du använder för testning
- Minst något av följande är sant:
- Providern SQL Server matchar CA-namnet eller något av DNS-namnen i certifikatet.
-
HostNameInCertificateanslutningssträngens egenskap matchar CA-namnet eller ett av DNS-namnen i certifikatet.