Symptomen
Wanneer een SQL Server-2012 of SQL Server 2014-database een groot transactielogbestand bevat, kunt u de database niet terugzetten in de Microsoft Azure binaire Microsoft Azure-opslagservice (BLOBOPSLAG). Als het logboekbestand bijvoorbeeld zo groot is dat het langer dan 3 minuten lang duurt om het te herstellen, kunt u de database niet meer herstellen. Bijvoorbeeld: als u een zeer grote database naar een back-up maakt, mislukt dit mogelijk met het volgende foutbericht:
<DateTime> Back-fout: 3041, Ernst: 16, provincie: 1. <DateTime> back-up van de opdracht back-up met de opdracht back-up is gemaakt BravoII_AS_PROD niet voltooien. Controleer het logboek met de back-uptoepassing voor uitgebreide berichten. <DateTime> spid55 fout: 18210, severe: 16, provincie: 1. <DateTime> spid55 BackupVirtualDeviceFile:: RequestDurableMedia: flush fout op back-upapparaat ' https://xxx.blob.core.windows.net/production/yyy.bck '. De foutmelding Operating System kon niet worden opgehaald van het externe eindpunt.
En als u de vlag voor het maken van back-ups naar URL-tracering inschakelt (DBCC TRACEON (3004, 3051, 3212, 3014, 3605, 1816,-1)), kan het zijn dat u de informatie ontvangt die er als volgt uitziet in het backuptoUrL logboek:
<DateTime>: HTTP-statuscode 201, HTTP-statusbericht gemaakt<DateTime>: Payload: start 7319191552, cmd size 1048576, nettolading grootte 1048576, StartTime 84313,5811126, EndTime 84313,6281149, duration 47,0023 MS, pogingen 1, callback True<DateTime>: HTTP-statuscode 201, HTTP-statusbericht gemaakt<DateTime>: met de voltooiing 63 van dit type transacties is de limiet voor het aflopen van de parallelle bewerkingen in 64 gewijzigd<DateTime>: er is een time-out opgetreden op de GetCommand, time-out van 20000 20000, en probeer dan opnieuw<datetime>: er is een time-out opgetreden in de GetCommand, de lengte van de time-out van 20000 wordt opnieuw geprobeerd<datetime>: er is een timeout opgetreden in de GetCommand, de lengte van de timeout van 20000, opnieuw proberen<datetime>: er is een timeout opgetreden in de GetCommand<: er is een timeout opgetreden op GetCommand, time-out van 20000 20000 De time-out van 20000 wordt opnieuw geprobeerd<DateTime>: er is een time-out opgetreden op de GetCommand, de lengte van de timeout van 20000, opnieuw proberen<DateTime>: er is een time-out opgetreden in de GetCommand, de time-out van<20000. HR = 0x80770003<DateTime>: er is een onherstelbare fout opgetreden tijdens de communicatie van de engine, de informatie over de uitzonderingen volgt op<DateTime>: informatie over de uitzondering: er is een fout opgetreden bij het overbrengen van gegevens met SqlServer, HRESULT: 0x80770003<DateTime>: stack: op Microsoft. SqlServer. VdiInterface. VDI. PerformPageDataTransfer
Oplossing
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 1 voor SQL Server 2014 SP1 /en-us/help/3067839
Cumulatieve update 6 voor SQL Server 2012 SP2 /en-us/help/3052468
Cumulatieve update 16 voor SQL Server 2012 SP1 /en-us/help/3052476
Cumulatieve update 7 voor SQL Server 2014 /en-us/help/3046038
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.