徵狀
當 SQL Server 2012 或 SQL Server 2014 資料庫包含大型事務記錄日誌檔時,您無法在 Microsoft Azure binary 大型物件(BLOB) storage service 中還原資料庫。 例如,如果事務記錄檔檔案太大,以至於需要超過3分鐘的時間才能還原資料庫。例如:如果您將超大型資料庫備份至 URL,可能會失敗,並出現下列錯誤訊息:
<DateTime> 備份錯誤:3041、嚴重性:16、State: 1. <DateTime> 備份備份無法完成使用差異的命令備份 BravoII_AS_PROD 資料庫。 檢查備份應用程式日誌,以取得詳細的訊息。 <DateTime> spid55 錯誤:18210、嚴重性:16、State: 1. <DateTime> spid55 BackupVirtualDeviceFile:: RequestDurableMedia:在備份裝置 ' HTTPs://xxx.blob.core.windows.net/production/yyy.bck」上進行刷新失敗。 無法從遠端端點收集作業系統錯誤錯誤。
如果您啟用 [備份至 URL 追蹤] 標記(DBCC TRACEON (3004、3051、3212、3014、3605、1816、-1)),您可能會在 backuptoUrL 記錄中收到類似下列內容的資訊:
<DateTime>: HTTP 狀態碼201、HTTP 狀態訊息建立<DateTime>: [負載]:啟動7319191552、Cmd 大小1048576、負載大小1048576、starttime 84313.5811126、endtime 84313.6281149、持續時間 47.0023 ms、嘗試1、回呼已執行? True<DateTime>: HTTP 狀態碼201、HTTP 狀態訊息已<DateTime>: IO 完成已將允許的並行作業變更為64,63的 20000 GetCommand 時間<時間已計算> datetime<:在 GetCommand 上發生超時,超時長度為20000,將會重試> datetime<: GetCommand 的超時時間(20000的超時時間)會重試<datetime>: GetCommand 上出現超時,20000的超時長度,會重試<datetime>:超時發生在 GetCommand,超時長度為<,將會重試> datetime<:在 GetCommand 上發生超時 20000 20000時,20000的超時長度會重試<DateTime>: GetCommand 上發生超時,20000的超時長度,會重試<DateTime>: GetCommand 上發生超時,超時的20000長度,將會重試<DateTime>:與 SqlServr 的備份通訊失敗,hr = 0x80770003<DateTime>:在引擎通訊期間發生致命錯誤,異常資訊>: exception 資訊: 0x80770003<datetime>: Stack: PerformPageDataTransfer (CloudPageBlob PageBlob、AccessCondition LeaseCondition、Boolean ForBackup),在 BackupToUrl (String [] args)中。 MainInternal (字串 [] args)<
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2014 SP1 的累積更新1 /en-us/help/3067839
SQL Server 2012 SP2 累積更新6 /en-us/help/3052468
SQL Server 2012 SP1 累計更新16 /en-us/help/3052476
SQL Server 2014 累積更新7 /en-us/help/3046038
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。