Simptome
Atunci când o bază de date SQL Server 2012 sau SQL Server 2014 conține un fișier jurnal de tranzacții mare, nu este posibil să restaurați baza de date în serviciul de stocare Microsoft Azure Binary obiecte mari (BLOB). De exemplu, dacă fișierul jurnal de tranzacții este atât de mare încât durează mai mult de 3 minute pentru a-l restaura, nu puteți restaura baza de date. De exemplu: dacă faceți backup unei baze de date foarte mari către URL și este posibil să nu reușească, cu următorul mesaj de eroare:
<DateTime> backup eroare: 3041, severitate: 16, stare: 1. <DateTime> Backup Backup nu a reușit să finalizeze baza de date de BACKUP a comenzii BravoII_AS_PROD cu DIFERENȚIALă. Verificați jurnalul aplicației backup pentru mesaje detaliate. <DateTime> spid55 eroare: 18210, severitate: 16, stare: 1. <DateTime> spid55 BackupVirtualDeviceFile:: RequestDurableMedia: Flush nereușita pe dispozitivul backup ' https://xxx.blob.core.windows.net/production/yyy.bck '. Eroarea de eroare a sistemului de operare nu a putut fi colectată de la punctul final la distanță.
Iar dacă activați semnalizarea de backup pentru URL Trace (DBCC TRACEON (3004, 3051, 3212, 3014, 3605, 1816,-1)) este posibil să primiți informațiile care seamănă cu următorul în Jurnalul backuptoUrL:
<DateTime>: codul de stare HTTP 201, mesajul de stare HTTP creat<DateTime>: încărcătură: Start 7319191552, cmd dimensiune 1048576, încărcătură dimensiune 1048576, StartTime 84313,5811126, Endtime 84313,6281149, durată 47,0023 MS, încercări 1, apel invers executat? True<DateTime>: codul de stare HTTP 201, mesajul de stare HTTP creat<DateTime>: finalizarea IO a schimbat operațiunile paralele permise la 64, numărul de accelerație Delta de 63 fire a fost calculat<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare a 20000, va re20000 încerca<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare a 20000, va reîncerca<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare a 20000, va reîncerca<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare de 20000, va reîncerca<DateTime>: a apărut o expirare pe GetCommand, lungimea de expirare a 20000, va reîncerca<, lungimea de expirare a 20000, va reîncerca<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare a 20000, va reîncerca<DateTime>: o expirare a avut loc pe GetCommand, lungimea de expirare de 20000, va reîncerca<DateTime>: comunicarea backup cu SqlServr nu a reușit, HR = 0x80770003<DateTime>: A apărut o eroare fatală în timpul comunicării motorului, informațiile de excepție urmează<DateTime>: informații despre excepție: A apărut o eroare în timpul operațiunilor de transfer de date cu SqlServer, HRESULT: 0x80770003<DateTime>: Stack: la Microsoft. SqlServer. VdiInterface. VDI. PerformPageDataTransfer (CloudPageBlob pageBlob, AccessCondition leaseCondition, Boolean forBackup) at BackupToUrl
Rezolvare
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2014 SP1 /en-us/help/3067839
Actualizarea cumulativă 6 pentru SQL Server 2012 SP2 /en-us/help/3052468
Actualizarea cumulativă 16 pentru SQL Server 2012 SP1 /en-us/help/3052476
Actualizarea cumulativă 7 pentru SQL Server 2014 /en-us/help/3046038
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.