將伺服器的.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)

的錯誤訊息。

解決方法
1493ab8e9de9d1.jpg    

鍵入的程式碼
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


※程式碼內的檔名跟路徑換成自己需要的。
1493ab4de56c11.jpg1493ab4dee798c.jpg  

arrow
arrow
    全站熱搜

    kingjoy1235 發表在 痞客邦 留言(0) 人氣()