Platí pro
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

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

Kumulativní aktualizace 4 pro SQL Server 2016 SP1

Kumulativní aktualizace 5 pro SQL Server 2014 SP2

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:

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

 

Ř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.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.