[SQL Server] MS SQL 資料庫備份 & 還原到另一個資料庫

[SQL Server]資料庫 備份 & 還原到另一個資料庫

背景:
我們公司裡有2台 Microsoft SQL Server
    一台是 192.168.1.208
另一台是 192.168.1.209
同樣是安裝 Microsoft SQL Server 2008 R2

備份:



還原:

要將 [208主機] 已經備份好的備份檔 .bak 還原到 [209主檔],
首先當然是將 .bak檔案複製到 [209主機]。
接下來要查詢一下備份檔資訊。

請用下面這段 SQL:

restore FileListOnly
from disk='D:\DBBackUp\LY_0717.bak'



由回傳的資料可以看到備份檔中 LogicalName 和 PhysicalName 的位置
因為我們是要將資料由 [208主機] 移到 [209主機]
故要對備份檔進行下列的修正。

restore DATABASE LYProject_LY0717
from disk='D:\DBBackUp\LY_0717.bak'
with 
move 'LWProject_LY' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LYProject_LY0717.mdf',
move 'LWProject_LY_Log' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LYProject_LY0717_log.ldf'
,NoRecovery
,Replace
go

說明:
restore DATABASE LYProject_LY0717     指定要還原的目標資料庫
from disk='D:\DBBackUp\LY_0717.bak'     指定備份檔的位置。

move 'LWProject_LY' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LYProject_LY0717.mdf',
這行是將原備份檔中的資料檔位置  PhysicalName 換成新的資料庫的資料檔位置

move 'LWProject_LY_Log' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LYProject_LY0717_log.ldf',
這行是將原備份檔中的記錄檔位置  PhysicalName 換成新的資料庫的記錄檔位置

執行完後,就會出現下列訊息:






這樣就可進行還原了。


RESTORE DATABASE LYProject_LY0717
FROM DISK'D:\DBBackUp\LY_0717.bak'

WITH RECOVERY 

留言