Sintomas
Quando uma base de dados SQL Server 2012 ou SQL Server 2014 contém um grande ficheiro de registo de transações, não é possível restaurar a base de dados no serviço de armazenamento de objetos binários (BLOB) da Microsoft Azure. Por exemplo, se o ficheiro de registo de transações for tão grande que leva mais de 3 minutos a restaurá-lo, não é possível restaurar a base de dados. Por exemplo: Se fizer uma cópia de segurança de uma base de dados muito grande para URL e esta pode falhar com a seguinte mensagem de erro:
<DataTime> Erro de Backup: 3041, Severidade: 16, Estado: 1.<DataTime> Cópia de Segurança de cópia de segurança não conseguiu completar a base de dados de backup do comando BravoII_AS_PROD com diferencial. Verifique o registo de pedidos de cópia de segurança para obter mensagens detalhadas.<DataTime> espidado55 Erro: 18210, Severidade: 16, Estado: 1.<DataTime> spid55 BackupVirtualDeviceFile:::RequestDurableMedia: Flush falha no dispositivo de backup 'https://xxx.blob.core.windows.net/production/yyy.bck'. O erro de erro do sistema operativo não foi possível ser recolhido a partir do Ponto de Final remoto.
E se ativar a cópia de segurança para a bandeira de vestígios deURL (DBCC TRACEON(3004, 3051, 3212.3014, 3605, 1816, -1)), poderá receber as informações que se assemelham ao seguinte registo backuptoUrL:
<DataTime>: CÓDIGO DE ESTADO HTTP 201, Mensagem de Estado HTTP Criada<DataTime>: Payload: Start 7319191552, Tamanho 1048576, Tamanho da Carga Útil 1048576, tempo de início 84313.5811126, tempo final 84313.6281149, duração 47.0023 ms, tentativas 1, Callback executado? True<DateTime>: HTTP status code 201, HTTP Status Message Criado<DataTime>: IO Completion alterou as operações paralelas permitidas para 64, a contagem de aceleração Delta de 63 fios foi calculada<DataTime>: Um tempo limite ocorreu no GetCommand, duração de tempo de 20000, vai voltar a tentar<DateTime>: Ocorreu um tempo limite no GetCommand, duração de tempo de 20000, vai voltar a tentar<DateTime>: Ocorreu um tempo limite em GetCommand, duração de tempo de 20000, irá reecando<> DateTime: Ocorreu um tempo limite no GetCommand, duração de tempo limite de 20000, vai voltar a tentar<DateTime>: Ocorreu um tempo limite no GetCommand, duração de tempo limite de 20000, tentará novamente<> DateTime: Ocorreu um tempo limite na GetCommand, duração de tempo de 20000, vai voltar a tentar<DateTime>: Ocorreu um tempo limite na GetCommand , duração de tempo de 20000, vai voltar a tentar<DateTime>: Um tempo limite ocorreu em GetCommand, duração de tempo de 20000, vai voltar a tentar<DateTime>: Um timeout ocorreu no GetCommand, duração de tempo de 20000, vai voltar a tentar<> de Cópia de Segurança data hr = 0x80770003<DataTime>: Um erro fatal ocorreu durante a comunicação do motor, informações de exceção seguem<DataTime>: Informações de exceção: Ocorreu um erro durante operações de transferência de dados com a SqlServer, HRESULT: 0x80770003>> data de<: Stack: at Microsoft.SqlServer.VdiInterface.VDI.PerformPageDataTransfer (CloudPageBlob pageBlob, AccessCondition LeaseCondition, Boolean forBackup) at BackupToUrl.Program.MainInternal (String[] args)
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 1 para SQL Server 2014 SP1 /en-us/help/3067839
Atualização Cumulativa 6 para SQL Server 2012 SP2 /en-us/help/3052468
Atualização Cumulativa 16 para SQL Server 2012 SP1 /en-us/help/3052476
Atualização Cumulativa 7 para SQL Server 2014 /en-us/help/3046038
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".