打印

如何恢复数据

如何恢复数据

我用backup database databasename to disk='存放路径'
语句备份后。
我想用restore database 命令恢复。但我的数据库安装路径变了恢复不了。
我原SQL装在c:\,现在装在D:\是不是备份时要用到某些参数就可以了?
请大家帮我一下。谢了。。

TOP

什么数据? 你指的是不是数据库? 也就是mdf和 ldf 文件?
如果是这两个文件,最简单的方法是暂停sql server后直接copy文件
俺爱菊花,呵呵。

TOP

to_luckdevil

谢了luckdevil,我是用backup 命令备份的,你说的这种我用过是可以。
不过我要把我的命令写到程序里。
而且我们备份时全用backup 命令,我想是不是有哪一个参数设置一下。
请大侠们赐教。

TOP

先用RESTORE FILELISTONLY 看一下文件列表
例如:
RESTORE FILELISTONLY
FROM DISK = 'c:\MyNwind.bak'

然后用restore database ... with move把相应文件移动过去
例如:
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH
MOVE 'MyNwind' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf',
MOVE 'MyNwindLog1' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf'

[ Last edited by zerry on 2003-4-7 at 02:39 PM ]

TOP

to_zerry

兄台 “ NeWMyNwind.mdf”是不是我备份出来的那个东东?
MyNwind和MyNwindLog1各指什么?
而NewNwind.ldf'是什么呢。能给我写的细一点吗?
恕我太愚钝了。多谢了!!

TOP

我只是举个例子而已。不知道你用的是不是SQL?

TOP

我用的是?SQL2000
我用这条语句备份的
“backup database mydatabase to disk='d:\mydatabase_1.bak”
我要是恢复该怎么写呢?

TOP

首先用
RESTORE FILELISTONLY
FROM DISK = 'd:\mydatabase_1.bak'
看一下备份中文件的列表,一般会有一个数据文件(.mdf)、一个日志文件(.ldf),记下他们的LogicalName。
然后
RESTORE DATABASE mydatabase
FROM disk='d:\mydatabase_1.bak'
WITH
MOVE '数据库的LogicalName' TO ' 目前数据库想存放的路径以及文件名称',
MOVE '日志的LogicalName' TO '目前日志想存放的路径以及文件名称'

TOP

to_zerry

我拿master库做了例子你看对不对
我假设原先把SQL装到“C:\Program Files\Microsoft SQL Server\mssql\data”我现在要把它装在另一台计算机的“d:\sqldata\mssql\data”下。
我先用" backup database master to disk='e:\master_1.bak' "命令备份.我现在要恢复到“d:\sqldata\mssql\data”下。
"restore database master from disk='e:\master_1.bak'
WITH
MOVE 'master.mdf' TO ' C:\Program Files\Microsoft SQL Server\mssql\data'
MOVE 'mastlog.ldf' TO 'C:\Program Files\Microsoft SQL Server\mssql\data'
是不是就这样就可以了?我是不是还要将“master.mdf”和“mastlog.ldf ”这两个文件一以拷备出来

TOP

命令还是有问题。move 后面应该是LogicalName而不是文件名。to 后面应该还要加上文件名而不仅仅只是路径。

restore database master from disk='e:\master_1.bak'
WITH
MOVE 'master' TO 'd:\Program Files\Microsoft SQL
Server\mssql\data\master.mdf'
MOVE 'mastlog' TO 'd:\Program Files\Microsoft SQL
Server\mssql\data\mastlog.ldf '


这样做了以后应该是不需要将“master.mdf”和“mastlog.ldf ”这两个文件一以拷备出来。但是对于Master库,我觉得这样好像会有问题,毕竟master库是比较特别的。

[ Last edited by zerry on 2003-4-9 at 02:23 PM ]

TOP

我终于成功了。
多谢了老兄。有机会咱们痛钦几杯菊花酒。
对了,还不知兄台高就在哪方圣土?能否相告

TOP

这个是一个很值得关注的问题?

TOP