我只能备份在服务器上,我的软件装在客户端,也就是把服务器上的数据库备份到客户端,请大虾帮忙

解决方案 »

  1.   

    不太明白你的意思,你是不是要没有服务器也能运行,那你只有把它导成ACCESS等单机的那种了啊
      

  2.   

    客户机不允许共享,copy也不允许
      

  3.   

    需要一个共乡目录映射到一个盘符上,然后在运行数据库的BACKUP DATABASE { database_name | @database_name_var } 
    TO < backup_device > [ ,...n ] 
    [ WITH
        [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
        [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
        [ [ , ] DIFFERENTIAL ]
        [ [ , ] EXPIREDATE = { date | @date_var }
            | RETAINDAYS = { days | @days_var } ]
        [ [ , ] PASSWORD = { password | @password_variable } ]
        [ [ , ] FORMAT | NOFORMAT ]
        [ [ , ] { INIT | NOINIT } ]
        [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
        [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
        [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
        [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
        [ [ , ] { NOSKIP | SKIP } ]
        [ [ , ] { NOREWIND | REWIND } ]
        [ [ , ] { NOUNLOAD | UNLOAD } ]
        [ [ , ] RESTART ]
        [ [ , ] STATS [ = percentage ] ] 
    ]
      

  4.   

    这样做,在备份界面用一个adocommand1,使其连接sql server的master数据库,
    建立两个adoconnection,
    1. ADOConnection1 连接你的业务数据库。
    2. ADOConnection2 连接 MASTER 数据库。
    3. ADOCommand1.Connection := ADOConnection2;
    假设你的数据库名为: DataBaseName
    Button.OnClick:
    begin
      ADOCommand1.CommandText := 'BACKUP DATABASE DataBaseName TO DISK = ' + #39 + 'C:\KKK.BAK' + #39;
      ADOCommand1.Execute;
    end;
    这样就备份到本地机器上了
    恢复如下:
    Button.OnClick:
    begin
      ADOConnection1.Connected := False;//断开原来的连接
      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;//恢复原来的连接
    end;