我想用vc + ado 作数据库
需要用程序自动备份,而不是利用企业管理器
应该用什么函数呢?
谢谢

解决方案 »

  1.   

    备份整个数据库: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 ] ] 
    ]备份特定的文件或文件组:BACKUP DATABASE { database_name | @database_name_var }
        < file_or_filegroup > [ ,...n ] 
    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 ] ] 
    ]备份一个事务日志:BACKUP LOG { database_name | @database_name_var } 
    {
        TO < backup_device > [ ,...n ]
        [ WITH
            [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
            [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
            [ [ ,] 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 } ]
            [ [ , ] NO_TRUNCATE ]
            [ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
            [ [ , ] { NOREWIND | REWIND } ]
            [ [ , ] { NOSKIP | SKIP } ]
            [ [ , ] { NOUNLOAD | UNLOAD } ]
            [ [ , ] RESTART ]
            [ [ , ] STATS [ = percentage ] ] 
        ] 
      

  2.   

    SQL-DMO
    参考MSSQL联机手册
    条目:SQL-DMO Examples: Backup and Restore
    DTS也可以。
      

  3.   

    CLOSE DATABASES
    CLEAR
    SET PATH TO (HOME(2) + 'Data\')     && Sets path to database
    USE orders
    DISPLAY STRUCTURE
    WAIT WINDOW 'Structure of the orders table' NOWAIT
    COPY STRUCTURE EXTENDED TO temp
    USE temp
    WAIT WINDOW 'Temp table has 1 row per field in ORDERS' NOWAIT
    BROWSE
    CREATE backup FROM temp
    USE backup
    DISPLAY STRUCTURE
    WAIT WINDOW 'Backup.dbf has the same structure as ORDERS' NOWAIT
    USE
    DELETE FILE temp.dbf
    DELETE FILE backup.dbf你可以参考一下,通过SQL语句操纵数据库,与用它自己的备份,结果是一样的。