Problembeschreibung
Wenn eine SQL Server 2012-oder SQL Server 2014-Datenbank eine große Transaktionsprotokolldatei enthält, können Sie die Datenbank nicht im Microsoft Azure Binary Large Objects (BLOB)-Speicherdienst wiederherstellen. Wenn beispielsweise die Transaktionsprotokolldatei so groß ist, dass die Wiederherstellung länger als drei Minuten dauert, können Sie die Datenbank nicht wiederherstellen. Beispiel: Wenn Sie eine sehr große Datenbank auf eine URL sichern, die möglicherweise mit der folgenden Fehlermeldung fehlschlägt:
<DateTime> Backup-Fehler: 3041, Schweregrad: 16, Zustand: 1. <DateTime-> Sicherungs Sicherung konnte die Befehls Sicherungsdatenbank nicht BravoII_AS_PROD mit Differential durchführen. Überprüfen Sie das Sicherungs Anwendungsprotokoll auf detaillierte Nachrichten. <DateTime> spid55-Fehler: 18210, Schweregrad: 16, Status: 1. <DateTime> spid55 BackupVirtualDeviceFile:: RequestDurableMedia: Flush-Fehler auf dem Sicherungsmedium "https://xxx.BLOB.Core.Windows.net/Production/yyy.BCK". Fehler des Betriebssystems konnte nicht vom Remote Endpunkt erfasst werden.
Wenn Sie das Kennzeichen Backup to URL-Ablaufverfolgung aktivieren (DBCC TRACEON (3004, 3051, 3212, 3014, 3605, 1816,-1)), erhalten Sie möglicherweise die Informationen, die im backuptoUrL-Protokoll wie folgt aussehen:
<DateTime>: HTTP-Statuscode 201, http-Statusmeldung, die<DateTime>: Payload: Start 7319191552, cmd size 1048576, Nutzlast size 1048576, Startzeit 84313,5811126, EndTime 84313,6281149, Dauer 47,0023 MS, Versuche 1, Rückruf ausgeführt? True<DateTime>: HTTP-Statuscode 201, http-Statusmeldung, die<DateTime-> erstellt wurde: IO-Vervollständigung hat die zulässigen parallelen Vorgänge in 64 geändert, die Drosselungs Anzahl Delta von 63-Threads wurde<DateTime-> berechnet: ein Timeout für GetCommand, Timeout-Länge von 20000, wird wiederholt,<DateTime->: ein Timeout für GetCommand, Timeoutlänge von 20000, wird wiederholt,<Timeout-Länge von 20000, wird<DateTime-> wiederholen: ein Timeout für GetCommand, Timeout-Länge von 20000, wird wiederholt<DateTime->: ein Timeout für GetCommand, Timeout-Länge von 20000, wird wiederholt,<DateTime->: ein Timeout für GetCommand, Timeoutlänge von 20000, wird wiederholt,<DateTime->: ein Timeout ist aufgetreten , Timeout-Länge von 20000, wird<DateTime-> erneut versuchen: ein Timeout für GetCommand, Timeout-Länge von 20000, wird wiederholt #d20 DateTime->: ein Timeout für GetCommand, Timeout-Länge von 20000, wird wiederholt,<DateTime->: die Sicherungs Kommunikation mit sqlservr ist fehlgeschlagen, HR = 0x80770003<DateTime>: ein schwerwiegender Fehler ist während der Modul Kommunikation aufgetreten, und die Ausnahmeinformationen folgen<DateTime->: Ausnahmeinformationen: bei Datenübertragungen mit SQLServer, HRESULT: 0x80770003<DateTime->: Stack: bei Microsoft. SqlServer. VdiInterface. VDI. PerformPageDataTransfer (CloudPageBlob pageBlob, AccessCondition-leaseCondition) unter forBackup. Program. BackupToUrl (Zeichenfolge [] args
Lösung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2014 SP1 /en-us/help/3067839
Kumulatives Update 6 für SQL Server 2012 SP2 /en-us/help/3052468
Kumulatives Update 16 für SQL Server 2012 SP1 /en-us/help/3052476
Kumulatives Update 7 für SQL Server 2014 /en-us/help/3046038
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.