簡體   English   中英

備份到Azure存儲BLOB時出現SQLVDI錯誤

[英]SQLVDI error when backing up to Azure Storage BLOB

我正在運行修補的SQL 2014,嘗試使用以下方法將數據庫備份到我們的Azure存儲BLOB中:

BACKUP DATABASE [DB]
TO URL = N'https://storage.blob.core.windows.net/server-mssqlserver/DB.bak'
WITH CREDENTIAL = N'AzureCredential'
    ,NOFORMAT
    ,NOINIT
    ,NAME = N'DBA_DB-Full Database Backup'
    ,NOSKIP
    ,NOREWIND
    ,NOUNLOAD
    ,COMPRESSION
    ,STATS = 5
GO

但是查詢拋出以下錯誤:

消息3292,第16級,狀態9,第1行
嘗試使用指定的URL設備執行備份或還原時發生故障。 有關詳細信息,請查閱Windows事件日志。
Msg 3013,第16級,狀態1,第1行
BACKUP DATABASE異常終止。

檢查服務器的事件日志將實際錯誤顯示為:

SQLVDI:Loc = IdentifySQLServer。 DESC = MSSQLSERVER。 ErrorCode =(5)訪問被拒絕。
過程= 4668。 線程= 6596。 客戶。 實例= MSSQLSERVER。 VD =。

我確保SQL Server代理服務的帳戶具有“ 創建全局對象”策略,並且還確保SQL VSS編寫器服務在本地系統帳戶下運行。 錯誤不斷發生!

我可以做些什么來修復它,還是只記錄一些比上面的“ SQLVDI:Loc = IdentifySQLServer”更詳細的錯誤消息?

key,這是“不知道如何解決”的問題之一。

在吃午飯之前,我可以通過運行提供的T-SQL可靠地產生問題,但是當我從午飯回來時,BACKUP命令可以正常完成!

我記得所做的主要更改是在Azure端創建了SAS(共享訪問簽名)

對於SQL 2014,據說這不是必需的 ,因為它使用實際的Azure憑據連接到存儲。 我實際上為要備份到同一容器的SQL Server 2016實例創建了SAS,這可能也為SQL Server 2014打開了對容器的訪問路徑!

非常感謝Sean Gallardy推薦ProcMon ,它顯示的錯誤日志信息比“ ErrorCode =(5)訪問被拒絕”消息要多得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM