谁能帮我实现对数据库SQL Server2000数据库的备份啊

jinghaijingtian 2010-05-26 07:43:17
毕业设计用到的,把数据库文件备份出来 然后还可以还原。比如数据库是 abao 。 谢谢啦 现在等着用呢
...全文
146 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2010-05-29
  • 打赏
  • 举报
回复
用BDE组件下的Query控件进行数据库连接操作时
每次使用Query.SQL.add()方法前都要先关闭表和清空Query的SQL属性值,
即在用Query.SQL.add()前应先输入Query.Close;Query.SQL.Clear;(注意是每次使用前)
当执行完Query.SQL,add(),和Query.ExecSQL;后再使用Query.Open来打开数据集使其能运行SQL语句


jinghaijingtian 2010-05-28
  • 打赏
  • 举报
回复
我改了 可是还是出问题 即使用 ADO也出问题 是不是 sql 2000 的毛病啊
somemak 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jinghaijingtian 的回复:]
谁写ADO的我不给分
[/Quote]
拜托。。。自己把ADO的那部份改为BDE就好啦,最主要其实就是动态调用SQL而已
shanxmxj 2010-05-27
  • 打赏
  • 举报
回复
//备份的SQL 语句为:(trim(EdtFilename.Text)为备份的路径)   
sql.add('USE master EXEC sp_dboption goldenstone ,'+'''dbo use only'''+' , '+'''TRUE''');
sql.Add('use master backup database MyData to disk='''+trim(EdtFilename.Text)+''' with init');

//数据库还原的SQL语句为:(trim(EdtFilename.Text)为还原的文件路径)
sql.Add('use master restore database MyData from disk='''+trim(edtFilename.text)+''' with replace');
andylist 2010-05-27
  • 打赏
  • 举报
回复
没做过。
andylist 2010-05-27
  • 打赏
  • 举报
回复
我还以为是手工备份呢。。。
jinghaijingtian 2010-05-27
  • 打赏
  • 举报
回复
谁写ADO的我不给分
ffwin 2010-05-27
  • 打赏
  • 举报
回复
var
ADOTemp: TADOQuery;
SqlStr: string;
begin
//输出文件名
if OutPutFile.Text = '' then
begin
Application.MessageBox('请选择文件的路径及文件名!', '系统提示', mb_OK + MB_ICONINFORMATION);
Exit;
end;

try
ADOTemp := TADOQuery.Create(nil);
ADOTemp.Connection := czDM.ADOConSQL;
//备份
if RB_Backup.Checked then
begin
ADOTemp.Close;
ADOTemp.SQL.Clear;
SqlStr := 'Backup Database ' + StrDB + ' to disk = ''' + OutPutFile.Text + '''';

ADOTemp.SQL.Add(SqlStr);
ADOTemp.ExecSQL;
end;
//还原
if RB_Restore.Checked then
begin
//先断掉数据库连接
czDM.ADOConSQL.Connected := False;
SqlStr := 'Provider=SQLOLEDB.1;Password=' + StrPW +
';Persist Security Info=True;User ID=' + StrUID +
';Initial Catalog= Master ' +
';Data Source=' + StrServer + '';
czDM.ADOConSQL.ConnectionString := SqlStr;
czDM.ADOConSQL.LoginPrompt := False;
czDM.ADOConSQL.Connected := True;
//重新连接
ADOTemp.Close;
ADOTemp.SQL.Clear;
SqlStr := 'ALTER DATABASE ' + StrDB + ' SET OFFLINE WITH ROLLBACK IMMEDIATE';
ADOTemp.SQL.Add(SqlStr);
ADOTemp.ExecSQL;

ADOTemp.Close;
ADOTemp.SQL.Clear;
SqlStr := 'Restore Database ' + StrDB + ' from disk =''' + OutPutFile.Text + '''';
ADOTemp.SQL.Add(SqlStr);
ADOTemp.ExecSQL;

ADOTemp.Close;
ADOTemp.SQL.Clear;
SqlStr := 'ALTER DATABASE ' + StrDB + ' SET ONLINE WITH ROLLBACK IMMEDIATE';
ADOTemp.SQL.Add(SqlStr);
ADOTemp.ExecSQL;

czDM.ADOConSQL.Connected := False;
SqlStr := 'Provider=SQLOLEDB.1;Password=' + StrPW +
';Persist Security Info=True;User ID=' + StrUID +
';Initial Catalog=' + StrDB +
';Data Source=' + StrServer + '';
czDM.ADOConSQL.ConnectionString := SqlStr;
czDM.ADOConSQL.LoginPrompt := False;
czDM.ADOConSQL.Connected := True;
end;

ADOTemp.Free;
Application.MessageBox('完成!', '系统提示', mb_OK + MB_ICONINFORMATION);
except
Application.MessageBox('操作失败!', '系统提示', mb_OK + MB_ICONERROR);
end;
jinghaijingtian 2010-05-27
  • 打赏
  • 举报
回复
我用的是BDE 能给我改一下嘛
dinoalex 2010-05-27
  • 打赏
  • 举报
回复
正在使用的话, 首先断开所以的ADO控件(执行备分的除外),再次是 use master 语句执行一次,再执分备分语句
jinghaijingtian 2010-05-27
  • 打赏
  • 举报
回复
procedure Trestoreform.SpeedButton1Click(Sender: TObject);
begin
if self.OpenDialog1.Execute then
edit1.Text:=self.OpenDialog1.FileName;
end;

procedure Trestoreform.BitBtn1Click(Sender: TObject);

var sql:String;
begin
if (edit1.Text='') then
begin
Application.MessageBox('请选择文件','提示',MB_ICONWARNING);
exit;
end;
sql:='RESTORE DATABASE "cheliangguanli" FROM DISK='''+OpenDialog1.FileName+'''';
Query1.SQL.Add(sql);
Query1.ExecSQL;
Query1.SQL.Add('Use abao');
Query1.ExecSQL;
Application.MessageBox('数据库还原成功','提示',MB_ICONWARNING);

end;

就是这个代码可是运行的时候 还原会出问题,大概是说 数据库正在使用 出现错误 怎么改啊
jinghaijingtian 2010-05-26
  • 打赏
  • 举报
回复
用 BDE控件的 abao是数据库的名字
kaikai_kk 2010-05-26
  • 打赏
  • 举报
回复
abao是什么?

backup
restore
jinghaijingtian 2010-05-26
  • 打赏
  • 举报
回复
数据库备份啊 就是能够备份到一个新的文件夹里
7年 2010-05-26
  • 打赏
  • 举报
回复
要代码备份还是手工数据库备份?
网上一大堆

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧