上面是只能备份到数据库服务器上。<br>下面这个可以备份到本地<br> 下面是Adang 做的一段把SQL SERVER数据库备份到本地的代码: <br> <br> //TODO:处理数据备份 <br> if CheckBoxDBF.Checked then <br> begin <br> try <br> try <br> if EditTargeDir.Text<>'' then <br> begin <br> AdoQueryBackUp:=TAdoQuery.Create(frmDataBakup); <br> AdoQueryBackup.Connection:=frmDM.ADOConSQL;//frmDM.ADOConSQL是已经连接到要备份数据库的ADO连接 <br> frmInputBox.LabelPara.Caption:='请输入本机的Administrator密码:'; <br> frmInputBox.EditInput.PasswordChar:='*'; <br> frmInputBox.Caption:='请输入密码'; <br> if frmInputBox.ShowModal=mrok then <br> AdminPW:=frmInputBox.EditInput.Text; <br> //备份远程SQL Server到本地 <br> try <br> Winexec(pchar('net share test='+ExtractFileDir(EditTargeDir.Text)),SW_HIDE);//共享本地保存数据的文件夹,这是必要的 <br> except <br> on E:Exception do <br> Application.MessageBox(pchar(E.Message),'Net share ERROR'); <br> end; <br> <br> try <br> Winexec(pchar('net use //'+PublicElement.LocalIP+'/test '+AdminPW+' /user:domain/Administrator'),SW_HIDE);//连接到刚才的共享,LocalIP是取得当前计算机IP的函数 <br> except <br> on E:Exception do <br> Application.MessageBox(pchar(E.Message),'Net Use ERROR'); <br> end; <br> <br> try <br> AdoQueryBackup.SQL.Clear; <br> AdoQueryBackup.SQL.Text:='backup database YYFD to disk='+''''+'//'+PublicElement.LocalIP+'/test/'+ExtractFileName(EditTargeDir.Text)+'''';//执得备份SQL语句 <br> AdoQueryBackup.ExecSQL; <br> except <br> on E:Exception do <br> Application.MessageBox(pchar(E.Message),'Backup ERROR'); <br> end; <br> <br> //备份结束 <br> end; <br> except <br> on E:Exception do <br> begin <br> Application.MessageBox(pchar(E.Message),'数据库备份出错') ; <br> Raise; <br> end; <br> end; <br> finally <br> begin <br> AdoQueryBackup.Close; <br> AdoQueryBackup.Free; <br> end; <br> end; <br> Application.MessageBox('数据库备份已经成功完成!','操作成功'); <br> end <br> else <br> if CheckBoxSQL.Checked then <br> begin <br> //TODO:将数据备份到指定其他SQL服务器中 <br> Application.MessageBox('程序暂时没有提供备份到其他服务器的功能!','提示'); <br> end;