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
Ursprungligt KB-nummer: 3135244
Sammanfattning
I den här artikeln beskrivs TLS 1.2-stöd för Microsoft SQL Server. Den visar de SQL Server versioner som aktiverar TLS 1.2-serversidan, klientdrivrutinerna och leverantörerna som stöder TLS 1.2, .NET Framework-uppdateringar som SQL Server funktioner är beroende av och de vanligaste felen du kan se när TLS 1.2 krävs men komponenterna inte är uppdaterade. SQL Server 2016, SQL Server 2017, SQL Server 2019 och SQL Server 2022 stöder TLS 1.2 internt och behöver ingen separat uppdatering. Out-of-mainstream-versioner (SQL Server 2008, 2008 R2, 2012 och 2014) behöver uppdateringarna i tabellerna nedan.
Kända sårbarheter finns för SSL (Secure Sockets Layer) och tidigare versioner av TLS (Transport Layer Security). Använd TLS 1.2 (eller TLS 1.3 där det stöds) för säker kommunikation. För aktuella Windows-klient- och Windows Server versioner är TLS 1.0 och TLS 1.1 inaktiverade som standard, så klient- och serverkomponenter måste ha stöd för TLS 1.2 eller senare för att ansluta.
Viktigt!
Det finns inga kända sårbarheter för Microsoft TDS-implementering, vilket är det protokoll som används mellan SQL Server klienter och SQL Server databasmotorn. Bakgrund om Schannel-implementeringen av TLS 1.0 finns i Windows säkerhetsrådgivning från den 24 november 2015.
Kontrollera om du behöver den här uppdateringen
Använd följande tabell för att kontrollera om den aktuella versionen av SQL Server redan stöder TLS 1.2 eller om du behöver installera en uppdatering för att aktivera TLS 1.2-stöd. Använd nedladdningslänkarna i tabellen för att hämta de serveruppdateringar som gäller för din miljö.
Kommentar
Versioner som är senare än de som anges i den här tabellen stöder även TLS 1.2.
| SQL Server-utgåva | Första version/utgåva som hade stöd för TLS 1.2 | Aktuella uppdateringar med TLS 1.2-stöd | Ytterligare information |
|---|---|---|---|
| SQL Server 2014 SP1 CU | 12.0.4439.1 SP1 CU5 |
KB3130926 – Kumulativ uppdatering 5 för SQL Server 2014 SP1 Obs!KB3130926 installerar nu den senaste CU som producerades för 2014 SP1 (CU13 – KB4019099), som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som släppts hittills. Om det behövs är CU5 tillgängligt i Windows Update-katalogen. Obs! TLS 1.2-stöd är också tillgängligt i 2014 SP2 och 2014 SP3. |
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012 |
| SQL Server 2014 SP1 GDR | 12.0.4219.0 SP1 GDR TLS 1.2-uppdatering |
TLS 1.2-stöd för 2014 SP1 GDR är tillgängligt i den senaste kumulativa GDR-uppdateringen KB4019091. Obs! TLS 1.2-stöd är också tillgängligt i 2014 SP2 och 2014 SP3. |
|
| SQL Server 2014 RTM CU | 12.0.2564.0 RTM CU12 |
KB3130923 – Kumulativ uppdatering 12 för SQL Server 2014 Obs! KB3130923 installerar nu den senaste CU som släpptes för 2014 RTM (CU14 – KB3158271 ), som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills. VID behov är CU12 tillgängligt i Windows Update-katalogen. Obs! TLS 1.2-stöd är också tillgängligt i 2014 SP2 och 2014 SP3. |
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012 |
| SQL Server 2014 RTM GDR | 12.0.2271.0 RTM GDR TLS 1.2-uppdatering |
TLS-stöd för SQL 2014 RTM är för närvarande endast tillgängligt genom att installera 2014 SP2 och 2014 SP3. | |
| SQL Server 2012 SP3 GDR | 11.0.6216.27 SP3 GDR TLS 1.2-uppdatering |
Beskrivning av säkerhetsuppdateringen för SQL Server 2012 SP3 GDR: 16 januari 2018 Obs! TLS 1.2-stöd är också tillgängligt i 2012 SP4. |
|
| SQL Server 2012 SP3 CU | 11.0.6518.0 SP1 CU3 |
KB3123299 – Kumulativ uppdatering 1 för SQL Server 2012 SP3 Obs! KB3123299 installerar nu den senaste CU som släpptes för 2012 SP3 (CU10 – KB4025925, som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills). VID behov är CU1 tillgängligt i Windows Update-katalogen. Obs! TLS 1.2-stöd är också tillgängligt i 2012 SP4. |
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012 |
| SQL Server 2012 SP2 GDR | 11.0.5352.0 SP2 GDR TLS 1.2-uppdatering |
TLS 1.2-stöd för 2012 SP2 GDR är tillgängligt i den senaste kumulativa GDR-uppdateringen – KB3194719. TLS 1.2-stöd finns också i 2012 SP3 och 2012 SP4. |
|
| SQL Server 2012 SP2 CU | 11.0.5644.2 SP2 CU10 |
KB3120313 – Kumulativ uppdatering 10 för SQL Server 2012 SP2. Obs! KB3120313 installerar nu den senaste CU som släpptes för 2012 SP2 (CU16 – KB3205054, som innehåller stöd för TLS 1.2 och alla snabbkorrigeringar som har släppts hittills). VID behov är CU1 tillgängligt i Windows Update-katalogen. Obs! TLS 1.2-stöd finns också i 2012 SP3 och 2012 SP4. |
KB3052404 – KORRIGERING: Du kan inte använda Transport Layer Security-protokollet version 1.2 för att ansluta till en server som kör SQL Server 2014 eller SQL Server 2012 |
| SQL Server 2008 R2 SP3 (endast för x86/x64) | 10.50.6542.0 SP2 TLS 1.2-uppdatering |
TLS 1.2-stöd är tillgängligt i den senaste kumulativa uppdateringen för SQL Server 2008 R2 SP3 – KB4057113. | |
| SQL Server 2008 R2 SP2 GDR (endast IA-64) | 10.50.4047.0 SP2 TLS 1.2-uppdatering |
SQL Server 2008 R2 SP2 GDR-uppdateringar (IA-64) TLS 1.2 | |
| SQL Server 2008 R2 SP2 CU (endast IA-64) | 10.50.4344.0 SP2 TLS 1.2-uppdatering |
SQL Server 2008 R2 SP2 GDR-uppdateringar (IA-64) TLS 1.2 | |
| SQL Server 2008 SP4 (endast för x86/x64) | 10.0.6547.0 SP4 TLS 1.2-uppdatering |
TLS 1.2-stöd är tillgängligt i den senaste kumulativa uppdateringen för SQL Server 2008 SP4 – KB4057114(endast x86/x64). | |
| SQL Server 2008 SP3 GDR (endast IA-64) | 10.0.5545.0 SP3 TLS 1.2-uppdatering |
SQL Server 2008 SP3 GDR-uppdateringar (IA-64) TLS 1.2 | |
| SQL Server 2008 SP3 CU (endast IA-64) | 10.0.5896.0 SP3 TLS 1.2-uppdatering |
SQL Server 2008 SP3 CU (IA-64) TLS 1.2-uppdateringar |
Nedladdningar av klientkomponent
Använd följande tabell för att ladda ned de klientkomponenter och drivrutinsuppdateringar som gäller för din miljö.
| Klientkomponent/drivrutin | Uppdateringar med TLS 1.2-stöd |
|---|---|
| SQL Server Native Client 10.0 för SQL Server 2008/2008 R2 (x86/x64/IA64) | Microsoft SQL Server 2008 och SQL Server 2008 R2 Native Client |
| SQL Server Native Client 11.0 för SQL Server 2012/2014 (x86/x64) | Microsoft SQL Server 2012 Native Client – QFE |
| MDAC-klientkomponenter (Sqlsrv32.dll och Sqloledb.dll) | Uppdatering av servicestacken för Windows 10, version 1809: 10 november 2020 |
Klientdrivrutin och providerstöd för TLS 1.2
I följande tabell sammanfattas TLS 1.2-stöd för SQL Server drivrutiner och leverantörer:
| Drivrutin | Stöd för TSL 1.2 | Kommentar |
|---|---|---|
| Microsoft ODBC-drivrutin för SQL Server 11 | Ja, med uppdateringar | Installera den senaste kumulativa uppdateringen för SQL Server 2012 eller SQL Server 2014. (Se tabellen i avsnittet Kontrollera om du behöver den här uppdateringen .) |
| Microsoft ODBC-drivrutin för SQL Server 13 | Ja | Stöder TLS 1.2 inbyggt. |
| Microsoft ODBC-drivrutin för SQL Server 17 | Ja | Stöder TLS 1.2 inbyggt. |
| Microsoft ODBC-drivrutin för SQL Server 18 | Ja | Stöder TLS 1.2 inbyggt. |
| Microsoft OLE DB-drivrutin för SQL Server 19 (MSOLEDBSQL) | Ja | Stöder TLS 1.2 inbyggt. |
| SQL Server Native Client 10 | Ja, med uppdateringar | Installera den senaste kumulativa uppdateringen för SQL Server 2008 eller SQL Server 2008 R2. (Se tabellen i avsnittet Kontrollera om du behöver den här uppdateringen .) |
| SQL Server Native Client 11 | Ja, med uppdateringar | Installera den senaste kumulativa uppdateringen för SQL Server 2012 eller SQL Server 2014. (Se tabellen i avsnittet Kontrollera om du behöver den här uppdateringen .) |
| SQL Server ODBC-drivrutin (SQLSRV32.DLL) | Ja, för vissa operativsystem | Stöd har lagts till i Windows Server 2019 och Windows 10. Tidigare os-versioner stöder det inte. |
| SQL Server OLE DB-provider (SQLOLEDB) | Ja, för vissa operativsystem | Stöd har lagts till i Windows Server 2019 och Windows 10. Tidigare os-versioner stöder det inte. |
Andra korrigeringar som krävs för att SQL Server ska kunna använda TLS 1.2
Installera följande .NET snabbkorrigeringar för att låta SQL Server funktioner som är beroende av .NET slutpunkter använda TLS 1.2. Exempel är Database Mail- och SSIS-komponenter som webbtjänstaktiviteten.
| Operativsystem | .NET Framework-version | Uppdateringar med TLS 1.2-stöd |
|---|---|---|
| Windows 7 Service Pack 1, Windows 2008 R2 Service Pack 1 | 3.5.1 | Stöd för TLS v1.2 som ingår i .NET Framework version 3.5.1 |
| Windows 8 RTM, Windows 2012 RTM | 3.5 | Stöd för TLS v1.2 som ingår i .NET Framework version 3.5 |
| Windows 8.1, Windows 2012 R2 SP1 | 3.5 SP1 | Stöd för TLS v1.2 som ingår i .NET Framework version 3.5 SP1 på Windows 8.1 och Windows Server 2012 R2 |
Vanliga frågor och svar
Stöder SQL Server 2016 och senare versioner TLS 1.1?
SQL Server 2016, SQL Server 2017 på Windows, SQL Server 2019 på Windows och SQL Server 2022 stöder TLS 1.0 upp till och med TLS 1.2. Vilka TLS-versioner som klienter faktiskt använder beror på vad det underliggande Windows operativsystemet aktiverar. I aktuella Windows versioner inaktiveras TLS 1.0 och TLS 1.1 som standard. Om du bara vill tillåta TLS 1.2 (eller senare) inaktiverar du de äldre protokollen i Schannel.
Tillåter SQL Server 2019 anslutningar som använder TLS 1.0 eller 1.1 eller endast 1.2?
SQL Server 2019 har samma TLS-stöd som SQL Server 2016 och SQL Server 2017. SQL Server 2019 RTM levereras med stöd för TLS 1.2 och ingen annan uppdatering eller korrigering krävs för att aktivera den. Schannel-inställningarna i operativsystemet styr vilka TLS-versioner klienter faktiskt kan använda.
Påverkas TDS av kända sårbarheter?
Det finns inga kända sårbarheter för Microsoft TDS-implementering. Eftersom flera organisationer för efterlevnad av standarder kräver användning av TLS 1.2 för krypterade kommunikationskanaler släpper Microsoft stöd för TLS 1.2 för den omfattande SQL Server installationsbasen.
Hur distribuerar Microsoft TLS 1.2-uppdateringarna till kunder?
Den här artikeln innehåller nedladdningslänkar för lämpliga server- och klientuppdateringar som stöder TLS 1.2.
Har SQL Server 2005 stöd för TLS 1.2?
TLS 1.2-stöd erbjuds endast för SQL Server 2008 och senare versioner.
Påverkas kunder som inte använder SSL/TLS om SSL 3.0 och TLS 1.0 är inaktiverade på servern?
Ja. SQL Server krypterar användarnamnet och lösenordet under autentiseringen även när en säker kommunikationskanal inte används på annat sätt. TLS 1.2-uppdateringen behövs för alla SQL Server instanser där det enda aktiverade protokollet på servern är TLS 1.2.
Vilka versioner av Windows Server stöder TLS 1.2?
Windows Server 2008 R2 och senare versioner stöder TLS 1.2.
Vilken är rätt registerinställning för att aktivera TLS 1.2 för SQL Server kommunikation?
Rätt registerinställningar är följande:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
De här inställningarna krävs för både server- och klientdatorer. Inställningarna DisabledByDefault och Enabled måste skapas på Windows 7-klienter och Windows Server 2008 R2-servrar. I Windows 8 och senare versioner av klientoperativsystemen eller Windows Server 2012-servern och senare versioner av serveroperativsystemen bör TLS 1.2 redan vara aktiverat. Om du implementerar en distributionsprincip för Windows Registry som måste vara oberoende av os-versionen lägger du till de nämnda registernycklarna i principen.
Om du använder Database Mail på SQL Server måste du också ange följande .NET-registernycklar:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 "SchUseStrongCrypto"=dword:00000001
Kända problem
SSMS, rapportservern och Rapporthanteraren kan inte ansluta när du har tillämpat korrigeringen för TLS 1.2
SQL Server Management Studio (SSMS), Report Server och Report Manager ansluter inte till databasmotorn när du har tillämpat korrigeringen för SQL Server 2008, 2008 R2, 2012 eller 2014. Rapportservern och Rapporthanteraren misslyckas och returnerar följande felmeddelande:
Rapportservern kan inte öppna en anslutning till rapportserverdatabasen. Det krävs en anslutning till databasen för alla förfrågningar och all bearbetning. (rsReportServerDatabaseUnavailable)
Det här problemet beror på att SSMS, Report Manager och Reporting Services Configuration Manager använder ADO.NET och ADO.NET stöd för TLS 1.2 endast är tillgängligt i .NET Framework 4.6. För tidigare versioner av .NET Framework måste du tillämpa en Windows uppdatering så att ADO.NET kan stödja TLS 1.2-kommunikation för klienten. De Windows uppdateringar som aktiverar TLS 1.2-stöd i tidigare versioner av .NET-ramverket visas i tabellen i avsnittet Kontrollera om du behöver den här uppdateringen.
Reporting Services Configuration Manager handskakning före inloggning misslyckas
Reporting Services Configuration Manager rapporterar följande felmeddelande även efter att du har uppdaterat klientleverantörer till en version som stöder TLS 1.2:
Det gick inte att ansluta till servern: En anslutning upprättades till servern, men sedan uppstod ett fel under handskakningen före inloggningen.
Åtgärda problemet genom att manuellt skapa följande registernyckel i systemet som är värd för Reporting Services Configuration Manager:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client: "Enabled"=dword:00000001
Krypterad slutpunktskommunikation misslyckas för tillgänglighetsgrupper, databasspegling eller Service Broker
Den krypterade slutpunktskommunikationen som använder TLS 1.2 misslyckas när du använder krypterad kommunikation för tillgänglighetsgrupper, databasspegling eller Service Broker i SQL Server. Ett felmeddelande som liknar följande loggas i SQL-felloggen:
Connection handshake failed. An OS call failed: (80090331) 0x80090331(The client and server cannot communicate, because they do not possess a common algorithm.). State 56.
Mer information om det här problemet finns i ÅTGÄRDA: Den krypterade slutpunktskommunikationen med TLS 1.2 misslyckas när du använder SQL Server.
Fel när du installerar SQL Server 2012 eller 2014 med TLS 1.2 aktiverat
Olika fel uppstår när du försöker installera SQL Server 2012 eller SQL Server 2014 på en server som har TLS 1.2 aktiverat.
Mer information finns i Åtgärda: Fel när du installerar SQL Server 2012 eller SQL Server 2014 på en server som har TLS 1.2 aktiverat.
Krypterad anslutning för databasspegling eller tillgänglighetsgrupper misslyckas när ett MD5-certifikat används
En krypterad anslutning med databasspegling eller tillgänglighetsgrupper fungerar inte när du använder ett certifikat när du har inaktiverat alla andra protokoll än TLS 1.2. Du kan se ett eller båda av följande felmeddelanden.
Ett felmeddelande som liknar följande loggas i SQL Server-felloggen:
Connection handshake failed. An OS call failed: (80090331) 0x80090331(The client and server cannot communicate, because they do not possess a common algorithm.). State 58.'
Ett felmeddelande som liknar följande loggas i Windows-händelseloggen:
Log Name: System
Source: Schannel
Date: <Date Time>
Event ID: 36888
Task Category: None
Level: Error
Keywords:
User: SYSTEM
Computer: ------------
Description:
A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is 40. The Windows SChannel error state is 1205.
Log Name: System
Source: Schannel
Date: <Date Time>
Event ID: 36874
Task Category: None
Level: Error
Keywords:
User: SYSTEM
Computer: -----------
Description:
An TLS 1.2 connection request was received from a remote client application, but none of the cipher suites supported by the client application are supported by the server. The SSL connection request has failed.
Det här problemet beror på att tillgänglighetsgrupper och databasspegling kräver ett certifikat som inte använder hashalgoritmer med fast längd, till exempel MD5. Hashalgoritmer med fast längd stöds inte i TLS 1.2.
Mer information finns i FIX: Kommunikation med MD5-hashalgoritmen misslyckas om SQL Server använder TLS 1.2.
Sporadiskt avslut av SQL Server-tjänsten i SQL Server 2008 och 2008 R2
Följande versioner av SQL Server-databasmotorn påverkas av det tillfälliga tjänstavslutsproblem som rapporteras i knowledge base-artikeln 3146034. Om du vill skydda dig mot problemet med tjänstavslut installerar du TLS 1.2-uppdateringarna för SQL Server som nämns i den här artikeln om din SQL Server version visas i följande tabell:
| SQL Server-utgåva | Påverkad version |
|---|---|
| SQL Server 2008 R2 SP3 (x86 och x64) | 10.50.6537.0 |
| SQL Server 2008 R2 SP2 GDR (endast IA-64) | 10.50.4046.0 |
| SQL Server 2008 R2 SP2 (endast IA-64) | 10.50.4343.0 |
| SQL Server 2008 SP4 (x86 och x64) | 10.0.6543.0 |
| SQL Server 2008 SP3 GDR (endast IA-64) | 10.0.5544.0 |
| SQL Server 2008 SP3 (endast IA-64) | 10.0.5894.0 |
Database Mail fungerar inte med TLS 1.2
Database Mail misslyckas med följande fel:
Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: Det gick inte att läsa e-postkonfigurationsinformationen från databasen. Det går inte att starta e-postsessionen.
Mer information finns i Andra korrigeringar som krävs för att SQL Server ska kunna använda TLS 1.2.
SCCM kan inte ansluta till SQL Server när TLS 1.2 har aktiverats
System Center Configuration Manager (SCCM) kan inte ansluta till SQL Server när TLS 1.2-protokollet har aktiverats på SQL Server. I den här situationen får du följande felmeddelande:
TCP-provider: En befintlig anslutning stängdes tvångsmässigt av fjärrvärden
Det här problemet kan uppstå när SCCM använder en inbyggd SQL Server-klientdrivrutin som inte har någon korrigering. Du kan åtgärda problemet genom att ladda ned och installera klientkorrigeringen som visas i avsnittet Klientkomponentnedladdningar . Till exempel Microsoft SQL Server 2012 Native Client – QFE.
Du kan ta reda på vilken drivrutin SCCM använder för att ansluta till SQL Server genom att visa SCCM-loggen, som du ser i följande exempel:
[SQL Server Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>