我想給FILELISTONLY從.bak文件恢復,並正在以下錯誤恢復FILELISTONLY:錯誤從.bak文件
Msg 3201, Level 16, State 2, Line 1 Cannot open backup device 'C:\Users...\myFile.bak'. Operating system error 5(Access is denied.).
該文件最初被封鎖,但我暢通它,這樣應該不是問題。
我想給FILELISTONLY從.bak文件恢復,並正在以下錯誤恢復FILELISTONLY:錯誤從.bak文件
Msg 3201, Level 16, State 2, Line 1 Cannot open backup device 'C:\Users...\myFile.bak'. Operating system error 5(Access is denied.).
該文件最初被封鎖,但我暢通它,這樣應該不是問題。
錯誤消息準確解釋發生了什麼:您已將.BAK文件放入SQL Server服務帳戶無權訪問的文件夾中。
您可以通過向SQL Server服務帳戶授予對您的配置文件文件夾的訪問權限來「解決」此問題,但這是對安全最佳做法的不必要違反。
將文件移動到SQL Server服務帳戶已具有本地訪問權限的位置(如備份或數據目錄)會簡單得多。
SELECT DISTINCT SUBSTRING(physical_name, 1, LEN(physical_name)
- CHARINDEX('\', REVERSE(physical_name)) + 1)
FROM [master].sys.master_files
WHERE [type] = 0;
如果您備份的任何數據庫(讓我們希望你!),你可以:您可以通過查看下面的查詢結果找到data文件夾(可能有多個有效的位置)找出一些有效的備份位置是這樣的:
SELECT DISTINCT SUBSTRING(physical_device_name, 1, LEN(physical_device_name)
- CHARINDEX('\', REVERSE(physical_device_name)) + 1)
FROM msdb.dbo.backupmediafamily;
這些當然不拿東西到諸如只讀數據文件的只讀卷,卷的SQL Server可能會訪問,但你不t,.BAK文件沒有足夠的可用空間的卷,或過去已使用但不再存在或無法訪問的備份位置。