by Joseph Wu
25. September 2011 20:33
以下是我第一次還原資料庫時,碰到的一些狀況,並且和大家分享。
遇到資料庫無法正確還原時,先檢查下列幾項要點:
- 目的地資料夾是否有權限 (SQL Server Engine 的執行帳戶必須在目的地資料庫有存取權),記得在該資料夾加入執行 SQL Engine 的帳戶的 NTFS 權限,讓該帳戶有寫入的權限。
- 來源資料庫的原始位置是否和目的地資料夾相同。舉例來說,我原本在 A 電腦放資料庫在 D:\DATA\test.mdf ,但是在 B 電腦還原至 E:\DATA\test.mdf ,這時候就無法還原囉,錯誤訊息如下圖,此時只要使用 move to 的指令將還原位置變更即可。
Restore Database [your DB] From Disk = N’xxxxxx’ with Move ‘test_data’ to ‘E:\Data\Test.mdf’
另外,要注意Move 後所接的參數,不是來源資料庫的完整位置,而是它在資料庫中的邏輯名而已,如果忘記的話,可使用下面的指令來查詢。
Restore FILELISTONLY From Disk = N’xxxxxx’
- 資料庫使用權限問題。 如果有新的資料庫層級的使用者,要記得加入使用者的權限。(當然,如果該帳戶是 sysadmin 就沒有這個問題)