delphi操作sql数据库的备份和强制还原
2020-03-01 01:30
12 查看
delphi操作sql数据库的备份和强制还原
begin
strFile:=SaveDlgData.FileName; StatusBar1.Panels[1].Text:='正在备份数据库...';
DataModuleMain.ADOQBack.Close;
DataModuleMain.ADOQBack.SQL.Clear;
DataModuleMain.ADOQBack.SQL.Add('backup database DangerWaste to disk='''+strFile+''' ');
try
DataModuleMain.ADOQBack.ExecSQL; Application.MessageBox(pchar('数据库已经备份到'+strFile+'!'),'提示',MB_OK+MB_ICONINFORMATION );
//write log
DataModuleMain.AddLog(currentUser.Name,'备份数据库到'+strFile,DateTimeTostr(now));
StatusBar1.Panels[1].Text:='';
except
Application.MessageBox('文件写入错误!','错误',MB_OK+MB_ICONERROR );
end; end;
end; procedure TFrmMain.NSysRestoreClick(Sender: TObject);
//数据库还原
var strFile:string;
begin
if OpenDlgRestore.Execute then
begin
strFile:=OpenDlgRestore.FileName;
if messagedlg('是否确定还原',mtconfirmation,[mbyes,mbno],0)=mryes then
begin StatusBar1.Panels[1].Text:='正在恢复数据库...';
try
with DataModuleMain do
begin
ADOConnMain.Close;
ADOConnectRestore.Open();//主义这个connection连接的是master数据库
ADOQRestore.Close;
ADOQRestore.SQL.Clear;
ADOQRestore.SQL.Add('ALTER DATABASE DangerWaste SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADOQRestore.ExecSQL;
ADOQRestore.Close;
ADOQRestore.SQL.Clear;
ADOQRestore.SQL.Add('restore database DangerWaste From disk='''+strFile+''' ');
ADOQRestore.ExecSQL;
ADOConnectRestore.Close;
ADOConnMain.Connected:=true;
end; Application.MessageBox(pchar('数据库恢复成功!'),'提示',MB_OK+MB_ICONINFORMATION ); DataModuleMain.AddLog(currentUser.Name,'还原数据库从'+strFile,DateTimeTostr(now));
StatusBar1.Panels[1].Text:='';
except
Application.MessageBox('数据库联接错误','错误',MB_OK+MB_ICONERROR);
end;
end;
end;
end; posted on 2012-03-09 16:24 davidlover99 阅读(...) 评论(...) 编辑 收藏
procedure TFrmMain.NSystBackupClick(Sender: TObject);
var strFile:string;
begin
// 数据库备份
SaveDlgData.Filter:='All files (*.*)|*.*';
SaveDlgData.FileName:='DataBack'+DateToStr(now);
begin
strFile:=SaveDlgData.FileName; StatusBar1.Panels[1].Text:='正在备份数据库...';
DataModuleMain.ADOQBack.Close;
DataModuleMain.ADOQBack.SQL.Clear;
DataModuleMain.ADOQBack.SQL.Add('backup database DangerWaste to disk='''+strFile+''' ');
try
DataModuleMain.ADOQBack.ExecSQL; Application.MessageBox(pchar('数据库已经备份到'+strFile+'!'),'提示',MB_OK+MB_ICONINFORMATION );
//write log
DataModuleMain.AddLog(currentUser.Name,'备份数据库到'+strFile,DateTimeTostr(now));
StatusBar1.Panels[1].Text:='';
except
Application.MessageBox('文件写入错误!','错误',MB_OK+MB_ICONERROR );
end; end;
end; procedure TFrmMain.NSysRestoreClick(Sender: TObject);
//数据库还原
var strFile:string;
begin
if OpenDlgRestore.Execute then
begin
strFile:=OpenDlgRestore.FileName;
if messagedlg('是否确定还原',mtconfirmation,[mbyes,mbno],0)=mryes then
begin StatusBar1.Panels[1].Text:='正在恢复数据库...';
try
with DataModuleMain do
begin
ADOConnMain.Close;
ADOConnectRestore.Open();//主义这个connection连接的是master数据库
ADOQRestore.Close;
ADOQRestore.SQL.Clear;
ADOQRestore.SQL.Add('ALTER DATABASE DangerWaste SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADOQRestore.ExecSQL;
ADOQRestore.Close;
ADOQRestore.SQL.Clear;
ADOQRestore.SQL.Add('restore database DangerWaste From disk='''+strFile+''' ');
ADOQRestore.ExecSQL;
ADOConnectRestore.Close;
ADOConnMain.Connected:=true;
end; Application.MessageBox(pchar('数据库恢复成功!'),'提示',MB_OK+MB_ICONINFORMATION ); DataModuleMain.AddLog(currentUser.Name,'还原数据库从'+strFile,DateTimeTostr(now));
StatusBar1.Panels[1].Text:='';
except
Application.MessageBox('数据库联接错误','错误',MB_OK+MB_ICONERROR);
end;
end;
end;
end; posted on 2012-03-09 16:24 davidlover99 阅读(...) 评论(...) 编辑 收藏
转载于:https://www.cnblogs.com/manshow/archive/2012/03/09/2387819.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- delphi操作sql数据库的备份和强制还原
- mongodb 数据库操作--备份 还原 导出 导入
- Analysis Service不能对数据集进行属性、备份、还原、处理等操作
- SQL Server 2012完全备份、差异备份、事务日志备份和还原操作
- SQL数据库不同备份名称存放不同路径还原方法
- [转]备份和还原SQL数据库
- 为备份或还原操作指定的设备太多;只允许指定64个设备。RESTORE DATABASE操作异常
- mongodb 数据库操作--备份 还原 导出 导入
- c# 用SQLDMO 进行sql数据库备份及还原
- SQL数据库还原时备份集中的数据库备份与现有的数据库不同的解决办法
- ORACLE备份、还原总结(2====digest【含操作脚本】=====by DQ20110608)
- SQL server 2005服务器备份文件的强制还原后引起的孤立用户问题解决方法
- Windows 7系统备份与还原操作详解
- SQL Server 2012完全备份、差异备份、事务日志备份和还原操作;
- mysqldump备份与还原数据操作
- 利用SQLDMO进行数据库备份还原操作
- C#附加数据库算法及思路,包括附加、还原、备份、分离、压缩、创建、修改等常见操作(修正)
- mysql备份和还原--生产环境操作
- SQL数据库备份与还原
- mongodb 数据库操作--备份 还原 导出 导入