Applies ToSQL 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

Симптоми

Приемете, че използвате Microsoft SQL Server 2012, 2014 или 2016. Когато архивирате база данни към URL адреса на услугата за съхранение на блоб в Microsoft Azure, операцията може да е неуспешна и ще получите следните съобщения за грешка, както от страна на клиента, така и от регистъра на грешките на SQL Server.

Грешка на клиент на SQL Server

MSG 3271, ниво 16, щат 1, линия LineNumber Грешка, която не можа да бъде възстановена, е възникнала във файл "https://<BlobStorageServerName>. blob.core.windows.net/sqlbackup/<DB_Backup_Name. bak>" архивиране на URL адрес получи изключение от отдалечената крайна точка. Съобщение за изключение: основната връзка е затворена: Възникна неочаквана грешка при получаване. MSG 3013, ниво 16, щат 1, линия LineNumber БАЗАТА данни за архивиране прекратява ненормално.

Регистър за грешки на 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.

Тази грешка се появява, ако вашият клиентски сървър е активирал протокол за защита на транспортния слой (TLS), версия 1,2 със следния системен регистър.

Име на ключа от системния регистър: 

HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2 \ клиент Стойност 0 Name: активиран Тип: REG_DWORD Данни: 0x1

Решение

Този проблем е коригиран в следните сборни актуализации за SQL Server 2014 и 2016:

Кумулативна актуализация 7 за SQL Server 2016 RTM

Кумулативна актуализация 4 за SQL Server 2016 SP1

Кумулативна актуализация 5 за SQL Server 2014 SP2

Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:

Най-новата сборна актуализация за SQL Server 2016

Най-новата сборна актуализация за SQL Server 2014

 

Заобиколно решение за SQL Server 2012

Този проблем се случва, ако инсталираната .NET Framework има предпочитание за TLS 1,0, въпреки че поддържа TLS 1,2. 

Няма корекция, налична за SQL Server 2012. За да заобиколите този проблем за SQL Server 2012, за да разрешите силна криптография, можете да направите следното: 

  • Архивиране на системния регистър

  • Отворете редактора на системния регистър и се придвижете до следните подключове от системния регистър: HKLM\software\Wow6432Node\Microsoft.NETFramework\ и HKLM\software\microsoft.NETFramework\

  • Под всеки от тези ключове подключовете числата за версиите (като v 4.5, v 4.5.1) съществуват. Добавете DWORD стойност с име SchUseStrongCrypto със стойност 1 за всяка версия.

  • Под HKLM\Software\Microsoft.NetFramework ключовите имена не трябва да бъдат точно 4,5 или 4.5.1. Предимно те ще започнат от v 2.0 XXX, v 3.0 XXX и v 4.0 XXX. DWORD стойността с име "SchUseStrongCrypto" със стойност 1 трябва да бъде добавена за всички налични версии.

  • Рестартирайте компютъра на SQL Server.

ЗабележкаМожете също да се опитате да инсталирате .NET Framework 4,8. По подразбиране .NET Framework 4,7 и по-нови версии са конфигурирани да използват TLS 1,2 и разрешават връзки чрез TLS 1,1 или TLS 1,0.

Препратки

Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.