將伺服器的.bak紀錄檔備份回家後,利用還原機制,還原為.mdf資料庫檔的方法。
實例:
要還原的資料庫叫NPUST.mdf
欲還原的bak檔為NPUST_backup_200812060300.bak
存在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\NPUST_backup_200812060300.bak
設要建立一個新的資料庫叫NPUST或用從伺服器備份來的NPUST舊檔
要用最新的bak檔去覆蓋。一般我們會直接在 資料庫右鍵>工作>還原>資料庫
然後在來源裝置選擇備份媒體>檔案 然後去瀏覽加入.bak檔
可是使用伺服器的bak檔做還原時會出現
System.Data.SqlClient.SqlError: 備份組包含現有的 'NPUST' 資料庫以外的資料庫備份。 (Microsoft.SqlServer.Express.Smo)
或
System.Data.SqlClient.SqlError: 資料庫 "NPUST" 的記錄結尾尚未備份。若您不想遺失其中的內容,請使用 BACKUP LOG WITH NORECOVERY 備份記錄。亦可使用 RESTORE 陳述式的 WITH REPLACE 或 WITH STOPAT 子句,覆寫記錄的內容。 (Microsoft.SqlServer.Express.Smo)
的錯誤訊息。
解決方法
鍵入的程式碼
restore DATABASE NPUST
from disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\NPUST_backup_200812060300.bak'
with
move 'NPUST' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\NPUST.mdf',
move 'NPUST_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\NPUST_log.ldf'
,NoRecovery
,Replace
go
※程式碼內的檔名跟路徑換成自己需要的。
留言列表