Sintomas
Suponha que você esteja usando o Microsoft SQL Server 2012, o 2014 ou o 2016. Ao fazer backup de um banco de dados para a URL do serviço de armazenamento de blob do Microsoft Azure, a operação pode falhar e você receberá as seguintes mensagens de erro no lado do cliente e no log de erros do SQL Server.
Erro de cliente do SQL Server
MSG 3271, nível 16, estado 1, line LineNumber Ocorreu um erro de e/s não recuperável no arquivo "https://<BlobStorageServerName>. blob.core.windows.net/sqlbackup/<DB_Backup_Name. bak>" backup para URL recebeu uma exceção do ponto de extremidade remoto. Mensagem de exceção: a conexão subjacente foi fechada: ocorreu um erro inesperado em um recebimento. MSG 3013, nível 16, estado 1, line LineNumber O banco de dados de BACKUP está terminando anormalmente.
Log de erros do 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.
Esse erro ocorre se seu servidor cliente ativou a versão 1,2 do protocolo TLS ( Transport Layer Security) com o registro a seguir.
Nome da chave do registro:
HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2 \ cliente Valor 0 Nome: habilitado Tipo: REG_DWORD Dados: 0x1
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas do SQL Server 2014 e 2016:
Atualização cumulativa 7 para SQL Server 2016 RTM
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa para o SQL Server 2012
Esse problema ocorrerá se o .NET Framework instalado tiver uma preferência para TLS 1,0, embora ofereça suporte a TLS 1,2.
Não há correção disponível para o SQL Server 2012. Para solucionar esse problema do SQL Server 2012 para habilitar a criptografia forte, você pode fazer o seguinte:
-
Fazer backup do registro
-
Abra o editor do registro e navegue até as seguintes subchaves do registro: HKLM\software\Wow6432Node\Microsoft.NETFramework\ e HKLM\software\microsoft.NETFramework\
-
Em cada uma dessas teclas, subchaves os números de versão (como v 4,5, v 4.5.1) existem. Adicione um valor DWORD chamado SchUseStrongCrypto com o valor 1 para cada versão.
-
Em HKLM\Software\Microsoft.NetFramework, os nomes de chave não precisam ser exatamente 4,5 ou 4.5.1. Principalmente, eles começarão do v 2.0 xxx, do v 3.0 xxx e do v 4.0 xxx. O valor DWORD chamado ' SchUseStrongCrypto ' com o valor 1 deve ser adicionado a todas as versões disponíveis.
-
Reinicie a máquina do SQL Server.
Observação: Você também pode tentar instalar o .NET Framework 4,8. Por padrão, o .NET Framework 4,7 e versões posteriores são configurados para usar TLS 1,2 e permitir conexões usando TLS 1,1 ou TLS 1,0.
Referências
Saiba mais sobre a terminologiaque a Microsoft usa para descrever atualizações de software.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".