簡體   English   中英

SQL 服務器還原錯誤 - 訪問被拒絕

[英]SQL Server Restore Error - Access is Denied

我在本地計算機上創建了一個數據庫,然后對表DataLabTables進行了名為tables.bak的備份。

我將該備份移至沒有該表的遠程計算機並嘗試進行還原,但出現以下錯誤:

System.Data.SqlClient.SqlError:操作系統在“c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables”上嘗試“RestoreContainer::ValidateTargetForCreation”時返回錯誤“5(拒絕訪問。)” .mdf'。

如果這是問題,我該如何解決我的權利?

我剛剛遇到了 SQL Server 2012 的問題。

事實證明,我所要做的就是在“文件”部分勾選標記為“將所有文件重新定位到文件夾”的框:

在此處輸入圖像描述

(點擊查看圖片全尺寸)

這當然假設您安裝了正確版本的 SQL 服務器。

從錯誤消息中,它說驗證還原操作的目標c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf )時出錯。

這聽起來像:

a) 該文件已經存在(因為您之前已經恢復了它)並且正在被 SQL 服務器使用

或者

b)該目錄根本不存在

在您的問題中,您提到您為該表創建了備份 - 這不是 SQL 服務器備份的工作方式。 這些備份始終是整個數據庫(或該數據庫中的至少一個或多個文件組)。

我的預感是:您之前已經恢復了該數據庫,現在,在第二次恢復時,您沒有在恢復向導中選中“覆蓋現有數據庫”復選框 - 因此無法覆蓋現有文件並且恢復失敗。

在遠程服務器上運行還原的用戶顯然無權訪問遠程服務器上的該目錄。

C:\program files\....是受保護的目錄 - 普通(非管理員)用戶無權訪問此目錄(及其子目錄)。

最簡單的解決方案:嘗試將您的 BAK 文件放在其他地方(例如 C:\temp )並從那里恢復

我遇到了同樣的問題。 事實證明,我的SQL ServerSQL Server Agent服務logon as是在Network Services帳戶下運行的,該帳戶沒有寫入權限來執行備份的還原。

我將這兩個服務都更改為以Local System Account ,這解決了問題。

最近我在 SQL 2008 R2 遇到了這個問題,以下解決方案對我有用:

1)創建一個與您嘗試恢復的數據庫同名的新數據庫 2)在恢復時,使用您在上面使用的相同名稱並在選項中單擊覆蓋選項

如果其他解決方案不起作用,您可能會嘗試上述方法。

備份創建者安裝了 MSSql 版本 10,所以當他進行備份時,它還存儲了原始文件路徑(以便能夠在同一位置恢復它),但我有版本 11,所以它找不到目標目錄。

於是我把output文件目錄改成C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA,成功恢復數據庫。

資源

我有一個類似的問題。 我試圖恢復一個 2005.bak 文件,我收到了完全相同的錯誤。 我也選擇了覆蓋選項無濟於事。

我的解決方案是授予 SQL 用戶訪問相關目錄的權限,方法是轉到文件夾並通過屬性屏幕編輯訪問權限。

這個問題也浪費了幾個小時。 搞定了:

在我的情況下,“拒絕訪問”確實意味着“拒絕訪問”。 我的 windows 設備上的 mssqlstudio 用戶帳戶沒有完全控制錯誤消息中指定的文件夾。 我完全控制了它。 訪問不再被拒絕,恢復成功。

為什么文件夾被鎖定為工作室? 誰知道? 我有足夠的問題要處理,而無需嘗試回答更多。

我遇到了這個問題,我以管理員身份登錄並解決了這個問題。

另一種情況可能是存在多個數據庫路徑。 首先,記下當前存儲新數據庫的路徑。 因此,如果您創建一個新的空數據庫,然后執行Tasks/Restore ,請確保還原嘗試使用的路徑與創建空數據庫的目錄相同。即使還原路徑是合法的,您仍然會得到如果它不是您正在使用的當前路徑,則訪問被拒絕錯誤。 當路徑不合法時很容易發現,當路徑合法時很難發現,但不是當前路徑。

對不起,因為我無法評論...

我有同樣的問題。 在我的情況下,問題與嘗試在舊的 sql 服務器文件夾(存在於服務器上)中恢復有關。 這是由於舊的 sql 服務器備份(即 SQL 服務器 2012 備份)在新的 sql 服務器(SQL Server 2014)中恢復。 真正的問題與@marc_s 的答案並沒有太大的不同。 無論如何,我只將目標文件夾更改為新的 SQL Server DATA 文件夾。

這可能不是最好的解決方案,但我試圖在 SQL Server 2005 上進行恢復,但我改為 SQL Server 2008 並且它工作正常。

遇到這樣的問題。 在 SQL 服務器文件夾上啟用壓縮導致的錯誤。

Frnds ...我在恢復數據庫時遇到了同樣的問題並嘗試了所有解決方案但無法解決。 然后我嘗試重新安裝 SQL 2005 並解決了問題。 實際上,上次我在安裝 SQL 時忘記檢查自定義選項。安裝時出現了兩次,我只檢查了一次。

就我而言 - 我必須仔細檢查我正在還原的數據庫的備份路徑。 當我第一次這樣做時,我之前已經從不同的路徑恢復了它。 我修復了備份路徑以使用我第一次使用的備份路徑並且它有效!

我最終為數據和日志創建了新文件夾,它工作正常,一定是文件夾/文件權限問題。

如果路徑正確,但服務帳戶不是數據文件的所有者(但它仍然具有足夠的讀/寫訪問權限),也會發生這種情況。 如果文件的權限被重置以匹配文件夾的權限(當然,在服務停止時),則可能會發生這種情況。

在這種情況下,最簡單的解決方案是分離每個數據庫並重新附加(因為附加時所有者更改為服務帳戶)。

嘗試這個:

在還原數據庫向導 window、go 到文件選項卡中,取消選中“將所有文件重新定位到文件夾”復選框,然后將還原目標從 Z0D61F8370CAD1D412F80B84D143E1257.Z 更改為其他驅動器然后繼續進行常規恢復過程。 它將成功恢復。

I had the same problem but I used sql server 2008 r2, you must check in options and verify the paths where sql going to save the files.mdf and.ldf you must select the path of your sql server installation. 我用這個解決了我的問題,希望對你有幫助。

Go to C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ and click allow access when a new window appears

然后嘗試將其移動到 C: 下的子文件夾中,但請確認用戶對您使用的文件夾具有完全權限。

暫無
暫無

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

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