เนื่องจากการสร้าง 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

By admin

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.