在delphi中怎么对sqlserver 数据库进行备份!

解决方案 »

  1.   

    用sql命令backup database dbname to disk='c:\aaa.dat' with init
      

  2.   

    恢复操作的时候,要把当前的数据库连接关闭,通过另一个  
    TADOConnection连接到Master数据库上  
    1.  ADOConnection1  连接你的业务数据库。  
    2.  ADOConnection2  连接  MASTER  数据库。  
    3.  ADOCommand1.Connection  :=  ADOConnection2;  
    假设你的数据库名为:  DataBaseName  
    Button.OnClick:  
    begin  
       ADOConnection1.Connected  :=  False;  
       ADOCommand1.CommandText  :=  'BACKUP  DATABASE  DataBaseName  TO  DISK  =  '  +  #39  +  'C:\KKK.BAK'  +  #39;  
       ADOCommand1.Execute;  
       ADOCommand1.CommandText  :=  'ALTER  DATABASE  DataBaseName  SET  OFFLINE  WITH  ROLLBACK  IMMEDIATE';  
       ADOCommand1.Execute;  
       ADOCommand1.CommandText  :=  'RESTORE  DATABASE  DataBaseName  FROM  DISK  =  '  +  #39  +  'C:\KKK.BAK'  +  #39;  
       ADOCommand1.Execute;  
       ADOCommand1.CommandText  :=  'ALTER  DATABASE  DataBaseName  SET  ONLINE  WITH  ROLLBACK  IMMEDIATE';  
       ADOCommand1.Execute;  
       ADOConnection1.Connected  :=  True;  
       ADOTable1.Active  :=  true;  
    end;  
     
      

  3.   

    adoconnection连接到数据库,adoquery连接adoconnection
    语句如下:
    adoconnection.open;
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('backup database 数据库名称 to disk=''c:\数据库名称.dat''');
    adoquery.open;
      

  4.   

    str:='BACKUP DATABASE kmschedule TO disk= ''c:\kmschedule.bak'' WITH init,NAME = ''Full Backup of kmschedule'''; //备份
    str1:='restore DATABASE kmschedule from disk= ''c:\kmschedule.bak'' WITH replace'; //恢复
     adoquery1.Close; adoquery1.SQL.Clear;
     adoquery1.SQL.Add(str);
     adoquery1.Prepared;
     adoquery1.ExecSQL;
      

  5.   

    我在上边写错了
    应该是:
    adoconnection.open;
    adoconnection.exec('backup database 数据库名称 to disk=''c:\数据库名称.dat''');
      

  6.   

    可以提供一个例子给你,我站上:
    http://www.kaer.com.cn/default.aspx
    下载区中有,其他问题:
    [email protected]
      

  7.   

    先用语句创建数据库设备,再在设备的基础上用语句备份数据库。
    在SQL中,没有先创建设备是不能进行数据库备份的。