Симптоми
Приемете, че използвате 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
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение за 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, които са посочени в секцията "важи за".