数据库还原问题!

sc_阿贵 2003-10-09 12:04:56
把一台数据库服务器的A数据库备份还原到另一台数据库服务器的同名数据库:
我的方法是:在B服务器上新建数据库,然后用A数据库的备份文件还原,但报错,请问该怎样解决这一问题????
...全文
23 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsxad 2003-10-14
  • 打赏
  • 举报
回复
要把出错信息写出来.我用过先新建一个库,再还原,没问题啊.要注意看一下还原时的选项.
txlicenhe 2003-10-13
  • 打赏
  • 举报
回复
楼主应该再多供一些信息。

比如我说: 为什么我的存储过程会出错呢? 这叫别人怎么回答啊?
gmlxf 2003-10-13
  • 打赏
  • 举报
回复
大力这个可以的:
右键数据库-->所有任务-->还原数据库-->写入你想要的新的数据库名字-->从设备-->选择设备-->添加-->选择你的文件-->确定-->确定-->选项-->改为现在的data目录的路径-->OK
主要是在修改data安装路径上。
jingsg0 2003-10-13
  • 打赏
  • 举报
回复
to lauger(lauger) :

我也想深入了解,我为了这个问题想了1个月,想做个自动恢复数据库的小东西。
jingsg0@tom.com
lauger 2003-10-12
  • 打赏
  • 举报
回复
他们说的都是皮毛。按照他们那么做,问题依旧,说的不是根本。我刚遇到过你的问题。我花了许久才解决,如需求,邮件:6268388@163.com
CrazyFor 2003-10-09
  • 打赏
  • 举报
回复
到企业管理器->到"数据库"这个字上右键,不要选中某个库->所有任务->恢复数据库->

1,输入新的数据库名,并打开你的备份文件.
2,在选项中,选中在现有数据库上强制恢复,并在下面输入新的还原目录.
sdhdy 2003-10-09
  • 打赏
  • 举报
回复
--没必要新建数据库,在另一台服务器上,执行如下操作!
SQL SERVER企业管理器—》右键数据库目录-》所有任务-》还原数据库-》常规页 还原为数据库:填上或从下拉列表中选择要还原的数据库名,选从设备 点选择设备按钮-》填加-》选择文件名,点右边的小按钮-》选择备份的文件名-》确定-》确定-》确定-》如果是在现有数据库基础上还原-》选项页,选中在现有数据库强制还原,如果你不想把数据文件(.mdf和.ldf)放在系统默认的路径下,你可以修改移至物理文件名,修改以下两个路径,再确定就可以了。
伍子V5 2003-10-09
  • 打赏
  • 举报
回复
不用新建

A. 还原完整数据库


说明 MyNwind 数据库仅供举例说明。


下例显示还原完整数据库备份。

RESTORE DATABASE MyNwind
FROM MyNwind_1

B. 还原完整数据库备份和差异备份
下例还原完整数据库备份后还原差异备份。另外,下例还说明如何还原媒体上的另一个备份集。差异备份追加到包含完整数据库备份的备份设备上。

RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH FILE = 2

C. 使用 RESTART 语法还原数据库
下例使用 RESTART 选项重新启动因服务器电源故障而中断的 RESTORE 操作。

-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE MyNwind
FROM MyNwind_1
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE MyNwind
FROM MyNwind_1 WITH RESTART

D. 还原数据库并移动文件
下例还原完整数据库和事务日志,并将已还原的数据库移动到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下。

RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY,
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'
RESTORE LOG MyNwind
FROM MyNwindLog1

pengdali 2003-10-09
  • 打赏
  • 举报
回复
右键数据库-->所有任务-->还原数据库-->写入你想要的新的数据库名字-->从设备-->选择设备-->添加-->选择你的文件-->确定-->确定-->选项-->改为现在的data目录的路径-->OK

其中:
"写入名字"-->不要与现在的冲突了,或选强制恢复
"改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdf
txlicenhe 2003-10-09
  • 打赏
  • 举报
回复
1:没必要新建数据库
2:新建也可以,但不能打开该数据库
3:错误信息是什么?
如果是“已打开”,可如下关掉,再在master数据库下恢复
use master
go
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
declare @spid int
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status =0
begin
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end

--用法
use master
exec killspid '数据库名'
coo 2003-10-09
  • 打赏
  • 举报
回复
就是
up

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧