当前位置:主页>销售管理软件> 列表

SQL数据库备份与恢复的问题,进来帮一下忙啊。 找仓库进销存管理

财务软件版1楼: if ss_name='''' then
begin
showmessage(''请选择路径'');
exit;
end;
try
with adoquery1 do
begin
close;
sql.Clear;
sql.Add(''restore database mrpbook from disk=''''''+ ss_name +'''''''');
execsql;
end;
except
showmessage(''恢复失败'');
end;
ss_name为路地址,该程序用到了Topen和TSAVE来选择和保存备份的文件。。
以上是恢复数据库功能,只要是一运行就提示:“数据库正在使用,所以未能获得对数据库的排它访问权限” 。可我的数据库没有在使用啊。我的备份功能倒是正常,就是不能恢复。等我再到SQL里手动还原刚才备份的数据库一切正常啊,这个什么原因呢???

2楼: 当然在使用时无法恢复,因为有人在用呀.
在备份和恢复时,最好断开数据库的连接,再利用一个额外的备份和恢复小程序实现最好.这样就没问题了 如仓库进销存管理

3楼: 你说地很对,可我把adoconnection1的connect设为假了。应该算是断开与数据库的连接了吧,可还是不行。
我试了N回了只有这样算好使,在建立个连接,连上别地库,然后在对原来的库进行恢复就可以了,这是什么道理呢,你们好用的程序或是认真地给我讲讲行吗??

4楼: use master
restore database mrpbook from disk .........

5楼: 能告诉我你这招是什么道理吗?我刚才看到了好几个贴子都有这样地问题,有人说是SQL的缓冲问题我也同意这个观点。。。
方法也无非是我说的先连一下别的库,然后在进行原来库的恢复。这个方法多笨啊,大家谁有直接了当地啊。。???

6楼: 好像不能恢复当前数据库~~如果你想这样操作,去问MS吧。

反正人家帮助是写:在还原过程中,指定的数据库必须不处于使用状态。指定数据库中的任何数据将由还原的数据替换。

祝你好运~~

财务软件版7楼: 同意doll_paul的意见。

8楼: 要执行 use master(这个和你使用的数据库是无关的)
同意doll_paul

9楼: 多人接受答案了。