Příznaky
Předpokládejme, že používáte Microsoft SQL Server 2012, 2014 nebo 2016. Při zálohování databáze na adresu URL služby úložiště objektů BLOB Microsoft Azure může operace selhat a na straně klienta a do protokolu chyb systému SQL Server se zobrazí následující chybové zprávy.
Chyba klienta systému SQL Server
Msg 3271, úroveň 16, stav 1 řádku lineNumber Došlo k nenapravitelné vstupně-výstupní chybě v souboru "https://<BlobStorageServerName>. blob.core.windows.net/sqlbackup/<DB_Backup_Name. bak>" zálohování na adresu URL přijalo výjimku ze vzdáleného koncového bodu. Zpráva o výjimce: nadřízené připojení bylo zavřeno: došlo k neočekávané chybě při příjmu. Msg 3013, úroveň 16, stav 1 řádku lineNumber ZÁLOŽNÍ databáze se ukončuje neobvykle.
Chybový protokol systému 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.
K této chybě dojde, pokud klientský server s povoleným protokolem TLS ( Transport Layer Security) verze 1,2 s následujícím registrem.
Název klíče registru:
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2 \ klient Hodnota 0 Název: povolen Typ: REG_DWORD Data: 0x1
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server 2014 a 2016:
Kumulativní aktualizace 7 pro SQL Server 2016 RTM
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Řešení pro SQL Server 2012
K tomuto problému dochází, pokud je nainstalovaná platforma .NET Framework preference pro TLS 1,0, i když podporuje TLS 1,2.
Pro SQL Server 2012 není k dispozici žádná oprava. Alternativní řešení: Tento problém pro SQL Server 2012, který umožňuje silnou kryptografii, můžete udělat takto:
-
Zálohování registru
-
Otevřete Editor registru a přejděte na následující podklíče registru: HKLM\software\Wow6432Node\Microsoft.NETFramework\ a HKLM\software\microsoft.NETFramework\
-
Pod každým z těchto klíčů existuje podklíče čísla verzí (například v bodu 4.5, v 4.5.1). Přidejte hodnotu DWORD nazvanou SchUseStrongCrypto s hodnotou 1 pro každou verzi.
-
V části HKLM\Software\Microsoft.NetFramework nemusí být názvy klíčů přesně 4,5 nebo 4.5.1. Převážně budou začínat od verze 2.0 xxx, v 3.0 xxx a verze xxx. Hodnota DWORD s názvem ' SchUseStrongCrypto ' s hodnotou 1 by měla být přidána pro všechny verze.
-
Restartujte počítač se serverem SQL Server.
PodívejteMůžete se taky pokusit nainstalovat .NET Framework 4,8. Ve výchozím nastavení je .NET Framework 4,7 a novější verze konfigurovány tak, aby používaly protokol TLS 1,2 a umožňovaly připojení pomocí TLS 1,1 nebo TLS 1,0.
Odkazy
Informace o terminologiipoužívané společností Microsoft k popisu aktualizací softwaru.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.