Simptomi
Pretpostavimo da koristite Microsoft SQL Server 2012, 2014 ili 2016. Kada sigurnosno kopirajte bazu podataka u URL servisa za pohranu u programu Microsoft Azure blob, operacija možda neće uspjeti i prikazat će vam se sljedeće poruke o pogreškama na strani klijenta i u zapisniku pogrešaka u sustavu SQL Server.
Pogreška klijenta sustava SQL Server
MSG 3271, razina 16, State 1, Linenumber linija Došlo je do neobnovljive pogreške u sustavu "https://<BlobStorageServerName>. blob.core.windows.net/sqlbackup/<DB_Backup_Name. bak>" sigurnosno kopiranje u URL dobilo je iznimku iz udaljenih krajnjih točaka. Poruka o iznimkama: zatvorena je veza u podlozi: došlo je do neočekivane pogreške prilikom primanja. MSG 3013, razina 16, State 1, Linenumber linija BAZA podataka sigurnosne kopije prekida se nenormalno.
Zapisnik pogrešaka u sustavu SQL Server
<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.
Ta se pogreška pojavljuje ako je vaš klijentsko poslužitelj omogućio protokol za Sigurnost sloja za transport (TLS), verziju 1,2 u sljedećem registru.
Naziv ključa registra:
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1,2 \ Client Vrijednost 0 Naziv: omogućen Vrsta: REG_DWORD Podaci: 0x1
Rješenje
Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server 2014 i 2016:
Kumulativno ažuriranje 7 za SQL Server 2016 RTM
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje za SQL Server 2012
Taj se problem događa ako instalirani .NET Framework ima preferencu za TLS 1,0, iako podržava TLS 1,2.
Nije dostupno rješenje za SQL Server 2012. Da biste zaobilazno riješili taj problem za SQL Server 2012 da biste omogućili snažnu kriptografiju, učinite sljedeće:
-
Sigurnosno kopiranje registra
-
Otvorite uređivač registra i prijeđite na sljedeće potključeve registra: Hklm\software\wow6432node\microsoft.netframework\ and HKLM\software\microsoft.NETFramework\
-
U odjeljku svaki od ovih ključeva postoje potključeva brojevi verzija (kao što je v 4.5, v 4.5.1). Dodajte vrijednost DWORD koja se zove Schusestrongcrypto s vrijednošću 1 za svaku verziju.
-
U odjeljku HKLM\Software\Microsoft.NetFramework nazivi ključeva ne moraju biti točno 4,5 ili 4.5.1. Uglavnom će početi od v 2.0 XXX, v 3.0 xxx i v 4.0 xxx. Funkcija DWORD pod nazivom "SchUseStrongCrypto" s vrijednošću 1 trebala bi biti dodana za sve dostupne verzije.
-
Ponovno pokrenite SQL Server stroj.
NapomenaMožete i pokušati instalirati .NET Framework 4,8. .NET Framework 4,7 i novije verzije konfigurirani su za korištenje TLS 1,2 i Omogućivanje veza pomoću TLS 1,1 ili TLS 1,0.
Reference
Saznajte više o terminologijikoju Microsoft koristi za opisivanje softverskih ažuriranja.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".