KB4017023 - SQL Server 2012, 2014 ili 2016 Backup to Microsoft Azure Blob storage service URL adresa nije kompatibilna za TLS 1.2

Simptomi

Pretpostavimo da koristite Microsoft SQL Server 2012, 2014 ili 2016. Kada napravite rezervnu kopiju baze podataka na URL adresi Microsoft Azure Blob usluge skladištenja, operacija može da ne uspe i dobićete sledeće poruke o greškama kako na strani klijenta, tako i u evidenciji grešaka sistema SQL Server.

Greška KLIJENTA SQL servera

Msg 3271, nivo 16, država 1, broj linije U datoteci "https://<BlobStorageServerName>.blob.core.windows.net/sqlbackup/<DB_Backup_Name.bak>" rezervna kopija na URL adresu dobila je izuzetak od udaljene krajnje tačke. Poruka o izuzetku: Osnovna veza je prekinuta: došlo je do neočekivane greške prilikom prijema. Msg 3013, nivo 16, država 1, broj linije BACKUP DATABASE se nepravilno prekida.

Evidencija grešaka SQL servera

<DateTime>    ======== BackupToUrl Initiated =========
<DateTime> Inputs: Backup = True, PageBlob= True, URI = https://<BlobStorageServerName>.blob.core.windows.net/sqlbackup/<DB_Backup_Name.bak>, Acct= lbtesting2096, Key= KeyValue, FORMAT= False, Instance Name = MSSQLSERVER, DBName = <DB_Name> LogPath = C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log
<DateTime>    Process Id: 3668
<DateTime>     Time for Initialization = 202.7451 ms
<DateTime>    BackupToUrl Client is getting configuration from SqlServr
<DateTime>    Time for Handshake and VDI config = 31.2507 ms
<DateTime>    Time for Get BlobRef = 15.6263 ms
<DateTime>    Time for - EXCEPTION Get Fetchattributes = 45364.4979 ms
<DateTime>    An exception occurred during communication with Azure Storage, exception information follows
<DateTime>    Exception Info: The underlying connection was closed: An unexpected error occurred on a receive.
<DateTime>    Stack:    at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](StorageCommandBase`1 cmd, IRetryPolicy policy, OperationContext operationContext)
   at BackupToUrl.Program.MainInternal(String[] args)
<DateTime>    The Active queue had 1 requests until we got a clear error.

Do ove greške dolazi ako je vaš klijentski server omogućio Transport Layer Security (TLS) protokol verzije 1.2 sa sledećim registratorom.

Ime ključa registratora: 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client Vrednost 0 Ime: omogućeno Tip: REG_DWORD Podaci: 0x1

Rešenje

Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server 2014 i 2016:

Kumulativna ispravka 7 za SQL Server 2016 RTM

Kumulativna ispravka 4 za SQL Server 2016 SP1

Kumulativna ispravka 5 za SQL Server 2014 SP2

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2016

Najnovija kumulativna ispravka za SQL Server 2014

 

Zaobilazno rešenje za SQL Server 2012

Do ovog problema može doći ako instalirani .Net Framework ima željenu opciju za TLS 1.0 iako podržava TLS 1.2. 

Nema dostupne ispravke za SQL Server 2012. Da biste zaobilazno objavili ovaj problem za SQL Server 2012 da biste omogućili jaku šifrovanje, možete da uradite sledeće: 

  • Pravljenje rezervne kopije registratora

  • Otvorite alatku "Uređivač registratora" i dođite do sledećih potključeva registratora: HKLM\software\Wow6432Node\Microsoft.NETFramework\ i HKLM\software\microsoft.NETFramework\

  • Ispod svakog od ovih tastera postoje potključevi brojevi verzija (kao v4.5, v4.5.1). Dodajte DWORD vrednost pod imenom SchUseStrongCrypto sa vrednošću1 za svaku verziju.

  • U okviru HKLM\Software\Microsoft.NetFramework imena ključeva ne moraju biti tačno 4,5 ili 4,5.1. Uglavnom će početi od v2.0XXX, v3.0XXX i v4.0XXX. DWORD vrednost pod imenom 'SchUseStrongCrypto' sa vrednošću 1 treba dodati za sve dostupne verzije.

  • Ponovo pokrenite SQL Server računar.

Beleške:Takođe možete pokušati da instalirate .Net Framework 4.8. Podrazumevano, .NET Framework 4.7 i novije verzije su konfigurisane da koriste TLS 1.2 i dozvoljavaju veze pomoću TLS 1.1 ili TLS 1.0.

Reference

Saznajte više o terminologijikoju Microsoft koristi za opisivanje softverskih ispravki.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×