关于数据库恢复 一般恢复数据库是在另外一个数据库的下面写一个存储过程,可不可以在Delphi在直接恢复呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以啊,执行sql语句,就是了嘛 一样的哈! 对SQL 数据库var Str: string;begin DataModule2.ADOConnection1.Connected := false; ADOConn.Connected := False; ADOConn.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=SAILOR'; ADOConn.Open; if edit1.Text <> '' then begin Str := 'restore database test from disk = '+ #39 + edit1.Text + #39 + ' with replace, ' + 'move ' + #39 + 'test_data' + #39 + ' to ' + #39 + 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Data.MDF' + #39 + ',move ' + #39 + 'test_log' + #39 + ' to ' + #39 + 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' + #39; with Adoquery1 do begin close; sql.Clear; sql.Add('ALTER DATABASE test SET OFFLINE WITH ROLLBACK IMMEDIATE'); try ExecSQL; except end; close; sql.Clear; sql.Text := Str; try execsql; application.MessageBox('成功','asdf',mb_ok+ mb_iconinformation); except application.MessageBox('错误','asdf',mb_ok+ mb_iconstop); end; close; sql.Clear; sql.Add('ALTER DATABASE test SET ONLINE WITH ROLLBACK IMMEDIATE'); try ExecSQL; except end; end; end; ADOConn.Connected := false; DataModule2.ADOConnection1.Connected := True; 我以前回复的贴!http://community.csdn.net/Expert/topic/2628/2628239.xml?temp=.343075 http://community.csdn.net/Expert/topic/3199/3199625.xml?temp=.6634333 下面是Sql Server的备份恢复。使用Sql语句。// 备份。使用AdoConnection连接你的数据库,adoquery链这个AdoConnection。procedure TForm1.Button1Click(Sender: TObject);begin AdoQuery1.SQL.Text := 'backup database testDFW to disk = ' + '''' + 'e:\backup.dat' + ''''; showmessage(AdoQuery1.SQL.Text); AdoQuery1.ExecSQL;end;//恢复。 AdoConnection不要连接你的数据库,可以连接一个其他数据库,如Master。procedure TForm1.Button2Click(Sender: TObject);begin AdoQuery1.SQL.Text := 'restore database testDFW from disk =' + '''' + 'e:\backup.dat' + ''''; showmessage(AdoQuery1.SQL.Text); AdoQuery1.ExecSQL;end; 楼上的,数据库有用户活动连接的时候即使你use master也不能直接restore,要把用户进程kill掉 关于DELPHI中TStringList的问题。 关于delphi swf sdk的安装问题 请多指教 如何在Treeview控件上的树型结构动态的显示,数据库中的表的内容? 调用EXCEL总出错 安装程序报错 怎样在 DBGrideh 中的下拉列表框里添加固定内容 哪位大侠有关于tms charts 的例子 char和varchar有什么区别 请各位帮忙找找这样的报表控件…… helphi 8 行吗? 请问在image中,怎么填充多边形???
var
Str: string;
begin
DataModule2.ADOConnection1.Connected := false;
ADOConn.Connected := False;
ADOConn.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=SAILOR';
ADOConn.Open;
if edit1.Text <> '' then
begin
Str := 'restore database test from disk = '+ #39 + edit1.Text + #39 + ' with replace, '
+ 'move ' + #39 + 'test_data' + #39 + ' to ' + #39 + 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Data.MDF' + #39
+ ',move ' + #39 + 'test_log' + #39 + ' to ' + #39 + 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' + #39;
with Adoquery1 do
begin
close;
sql.Clear;
sql.Add('ALTER DATABASE test SET OFFLINE WITH ROLLBACK IMMEDIATE');
try
ExecSQL;
except end;
close;
sql.Clear;
sql.Text := Str;
try
execsql;
application.MessageBox('成功','asdf',mb_ok+ mb_iconinformation);
except
application.MessageBox('错误','asdf',mb_ok+ mb_iconstop);
end;
close;
sql.Clear;
sql.Add('ALTER DATABASE test SET ONLINE WITH ROLLBACK IMMEDIATE');
try
ExecSQL;
except end;
end;
end;
ADOConn.Connected := false;
DataModule2.ADOConnection1.Connected := True;
http://community.csdn.net/Expert/topic/2628/2628239.xml?temp=.343075
// 备份。使用AdoConnection连接你的数据库,adoquery链这个AdoConnection。
procedure TForm1.Button1Click(Sender: TObject);
begin
AdoQuery1.SQL.Text := 'backup database testDFW to disk = ' + '''' + 'e:\backup.dat' + '''';
showmessage(AdoQuery1.SQL.Text);
AdoQuery1.ExecSQL;
end;
//恢复。 AdoConnection不要连接你的数据库,可以连接一个其他数据库,如Master。
procedure TForm1.Button2Click(Sender: TObject);
begin
AdoQuery1.SQL.Text := 'restore database testDFW from disk =' + '''' + 'e:\backup.dat' + '''';
showmessage(AdoQuery1.SQL.Text);
AdoQuery1.ExecSQL;
end;