现有一份123456789.bak的数据库备份文件,通过以下步骤将其还原:
1.在查询分析器里面输入
restore fILELISTONLY
from disk ='d:\123456789.bak'
可以看到产生两行的查询结果,分别为所对应的主文件与日志文件相关信息
第一列为数据库文件的名称,(下面要用到这一列),第二列为数据库原始的磁盘位置
2.在查询分析器里输入
restore database db1//还原数据库名随意,但是最好还是与原始相同,这里应当为data
from disk ='d:\12345678.bak'
with replace,
move 'date_Data' to 'd:\78.mdf',--data_data 从上面查询所得的第一行第一列中获得
move 'date_Log' to 'd:\78.ldf' --data_log从上面查询所得的第二行第一列中获得,to 后面的路径与文件名随意
sql 帮助有这样一个例子
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
RESTORE FILELISTONLY
FROM DISK = 'c:\Northwind.bak'
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
RESTORE FILELISTONLY
FROM DISK = 'c:\Northwind.bak'
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'