SQL数据库即使'不使用当前数据库'也无法恢复,老问题了高人帮下忙。(20分)

  • 主题发起人 主题发起人 xiaoxiao8372
  • 开始时间 开始时间
X

xiaoxiao8372

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.SpeedButton2Click(Sender: TObject);
var A,B:shortstring;
begin

A:='provider=SQLOLEDB.1;Persist Security Info=False;';
B:='User ID=sa;Initial Catalog=master';

adoconnection1.Close;
adoconnection1.ConnectionString:=A+B;
with adoquery1 do
begin
close;
sql.Clear;
sql.Text:='select * from systypes' ;
execsql;
end;

if s_name='' then
begin
showmessage('请选择路径');
exit;
end;
try
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('restore database text from disk='''+ s_name +'''');
execsql;
end;
showmessage('恢复成功');
except
showmessage('恢复失败');
end;

end;

以上是我的恢复按钮。在SQL中是不允许对当前使用的数据库进行恢复的。可是我这里先是连上的master库啊,并不算是对当前数据库的恢复吧。可是一运行,还是说:“不能对当前数据库操作,没有排它访问树根”。我就晕了,到底该如何做呢。。
 
自己在顶一下,为什么没人理我。
 
d自己在顶一下,为什么没人理我。
 
这个问题很简单的
要写一个恢复数据库的小程序,也就是构造一个sql批处理就可以了
1打开sql server事情探察器
2打开企业管理器将你的数据库还原
3将sql server事情探察器里的脚本复制到你的程序
我都是这样做的 并不需要什么资料
 
后退
顶部