Restore Database SQL Server 2012,2016

เนื่องจากการสร้าง database ชื่อใหม่และทำการ restore จาก db หนึ่งไปยัง db หนึง เมื่อทำการ restore db จะพบว่ามันแจ้งว่าทำไม่ได้ เพราะมีการใช้งานอยู่ดังนั้น เราจึงต้องใช้คำสั่ง sql ในการ restore แทน (ประหนึ่งการ copy และ replace ไปยัง db ใหม่ที่สร้าง) ดังนี้

USE [master]
GO
RESTORE DATABASE db2
FROM DISK ='c:\dbbak\db1.bak'
WITH REPLACE,
MOVE 'db1' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\db2.mdf',
MOVE 'db1_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\db2.ldf'

สังเกตุว่าเมื่อสร้าง db2 แล้วต้องการ copy db1 มาทับจะอ้างว่าเอาไฟล์จาก db1 และมีการย้าย mdf และ log ของ db1 ไปทับ db2.mdf และ db2.ldf

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.