| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1713 人关注过本帖
标题:如何备份sql server数据库
只看楼主 加入收藏
wsx87
Rank: 1
来 自:温州
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-6-4
收藏
 问题点数:0 回复次数:8 
如何备份sql server数据库
请大家帮个忙,如何用delphi备份sql server数据库?
搜索更多相关主题的帖子: 备份sql 数据库 server delphi 
2007-06-04 16:38
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
收藏
得分:0 
执行备份语句就可以了。

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2007-06-04 22:46
songyang201
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-6-5
收藏
得分:0 

对的,执行sql语句自身的备份语句,可以看T-sql帮助。

2007-06-05 11:35
wsx87
Rank: 1
来 自:温州
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-6-4
收藏
得分:0 

可不会用啦,能不能帮我写一段啊


我爱学习!
2007-06-05 18:32
无情杀手
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-5
收藏
得分:0 
写一段???
2007-06-05 19:50
zengziji
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-2-24
收藏
得分:0 
Pinformation是我的数据库名,你看着改就行了
//------------备份数据库
var
savedata:string;
findqu:tadoquery;
begin
findqu:=tadoquery.Create(self);
findqu.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;'
+'User ID=sa;Initial Catalog=master;Data Source=.';
//------------查找sysdatabases数据库,是否存在Pinformation
findqu.Close;
findqu.SQL.Clear;
findqu.SQL.Text:='select name from sysdatabases where name='
+quotedstr('Pinformation');
findqu.Open;
if trim(findqu.FieldByName('name').AsString)<>'Pinformation' then
begin
messagebox(0,'数据库不存在,不能进备份操作!','提示',MB_ICONEXCLAMATION+mb_ok);
end
else
begin
savedatalog.Filter:='ALL files (*.*)|*.*';
savedatalog.FileName:='Backup'+formatdatetime('yyyy-MM-dd hhmmss',now());
if savedatalog.Execute then
begin
savedata:=savedatalog.FileName;
Datam_backup.adoquback.Close;
Datam_backup.adoquback.SQL.Clear;
Datam_backup.adoquback.SQL.Text:='backup database Pinformation to disk= '+quotedstr(savedata);
Datam_backup.adoquback.ExecSQL;
application.MessageBox(pchar('数据库已经备份到'
+savedata+'!'),'提示',MB_OK+MB_ICONINFORMATION);
end;
end;
end;
2007-06-08 13:43
wsx87
Rank: 1
来 自:温州
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-6-4
收藏
得分:0 
哦,谢谢!!1

我爱学习!
2007-06-12 19:10
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 

//数据备份
var
Str_Path:string;
begin
SaveDialog1.Filter := '所有文件(*.*)|*.*';
SaveDialog1.Title := '选择备份路径和文件名';
if SaveDialog1.Execute=true then
begin
Str_Path:=SaveDialog1.FileName;
end;
if Str_Path<>'' then
begin
with DM.QSJBF do
begin
try
Screen.Cursor := crHourGlass;
DM.QSJBF.Close;
DM.QSJBF.SQL.Clear;
DM.QSJBF.SQL.Add(' BACKUP DATABASE 物流管理系统 TO DISK ='+'''' +Str_Path+'''');
DM.QSJBF.ExecSQL();
Screen.Cursor := crDefault;
Application.MessageBox('数据库备份成功完成','数据库备份',0+mb_iconinformation);
except
Screen.Cursor := crDefault;
Application.MessageBox('数据库备份失败!请检查备份路径或网络状态','数据库备份',0+mb_iconinformation);
exit;
end;
end;
end;


//数据恢复

var
Str_Path:string;
begin
DM.ADOConn.Close;
DM.ADOConn.Connected:=False;
Opendialog1.Filter := '所有文件(*.*)|*.*';
Opendialog1.Title := '选择恢复文件路径和文件名';
if Opendialog1.Execute then
Str_Path:=opendialog1.FileName;
if Str_Path<>'' then
begin
with DM.QSJHF do
begin
try
try
Screen.Cursor := crHourGlass;
Close;
SQL.Clear;
SQL.Add('use master restore DATABASE 物流管理系统 from DISK ='+'''' +Str_Path+'''');
ExecSQL();
Screen.Cursor := crDefault;
Application.MessageBox('数据库恢复成功完成!','数据库恢复',0+mb_iconinformation);
except
Screen.Cursor := crDefault;
Application.MessageBox('数据库恢复失败!请检查备份路径或网络状态','数据库恢复',0+mb_iconinformation);
exit;
end;
Finally
with DM.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('USE 物流管理系统');
ExecSQL;
end;
end;
end;
end;
DM.ADOConn.Open;
DM.ADOConn.Connected:=True;


[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2007-06-13 13:16
gg525
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-8-20
收藏
得分:0 

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls, DB, ADODB;

type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
PB: TProgressBar;
StatusBar1: TStatusBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
dir:string;
id:DWORD;
pd:THandle;

implementation

{$R *.dfm}

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Close;
end;

function pro:Boolean;
begin
if Form1.PB.position<100 then
Form1.PB.Position:=Form1.PB.Position+1;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
try
if SaveDialog1.Execute then
begin
dir:=SaveDialog1.FileName+'.bak';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='backup database db_ems to disk='''+dir+'''';
ExecSQL;
end;
pd:=createthread(nil,0,@pro,nil,0,id);
PB.Position:=PB.Max;
ShowMessage('备份OK!');
PB.Position:=PB.Min;
end;
except
begin
ShowMessage('备份失败!');
PB.Position:=PB.Min;
end;
end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
try
if OpenDialog1.Execute then
begin
dir:=OpenDialog1.FileName;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='use master restore database db_EMS from disk='''+dir+'''';
ExecSQL;
end;
pd:=CreateThread(nil,0,@pro,nil,0,id);
PB.Position:=PB.Max;
ShowMessage('还原OK!');
PB.Position:=PB.Min;
end;
except
showmessage('还原失败!');
pb.Position:=PB.Min;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
postmessage(Pb.Handle,$0409,0,clLime);
end;

end.
这样还简单点,呵呵

2007-07-05 16:54
快速回复:如何备份sql server数据库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032694 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved