使用的是sql server 2000数据库,
我所知道的对数据库的备份主要有:
所有任务里面的:备份数据库、导入导出功能、数据库维护计划
采用“备份数据库”、“数据库维护计划”,可以把数据库备份到本地的硬盘上,可以调度每天自动运行。设置好后不需要人工操作。
而采用“导入导出功能”可以把数据库导出到局域网异地机器上(采用sql server 注册),但是这种方法需要每天手动操作。
我现在想把本地数据库自动备份到局域网其他机器上,不需要人工操作,不知道该怎么做了?

解决方案 »

  1.   

    从网上找到这样一种方法:
    采用数据库维护计划,备份到本地,然后才有如下到文件,复制到异地机器上。
    Copy.bat具体脚本如下:
    @echo off
    title 正在传输数据库备份文件到远程备份服务器上!
    echo 提示:开始验证服务器上是否存在备份文件!
    echo 请稍候!
    if exist E:\database\*.bak (goto Process ) else goto UnFound
    :Process
    echo 提示:在服务器上找到了备份文件!
    echo -------------------------------------------------------------------------------
    echo 提示:开始删除远程备份服务器上的原始文件!rem 备注:下列IP地址为远程备份服务器的IP地址! 
    del \\192.168.101.121\database /q /s /f
    del \\192.168.101.121\database\*.* /q /s /f
    if errorlevel 0 goto success
    :success
    echo 提示:成功删除原始文件!
    echo -------------------------------------------------------------------------------
    echo 提示:开始复制数据库备份文件到远程备份服务器\\192.168.101.121\database!
    echo 请稍候!
    rem 备注:请具体更改\\192.168.101.122\database为服务器备份文件存放的位置。\\192.168.101.121\database为备份服务器上存放的位置!
    xcopy \\192.168.101.122\database \\192.168.101.121\database /y /f
    rem 备注:当Xcopy命令结束后返回的Errorlevel为4说明磁盘控件不足。当Xcopy命令返回0时说明成功完成操作!
    if errorlevel 4 goto lowmemory 
    if errorlevel 0 goto showmessage
    :lowmemory
    echo 警告:请查看磁盘空间是否不足!:UnFound
    echo 警告:在服务器上找不到备份文件,批任务将要结束。服务器备份工作似乎没有正常进行,请确认服务器是否正常生成备份文件!
    goto exit:showmessage
    echo 提示:批任务完成! 
    echo 提示:成功复制数据库备份到远程服务器\\192.168.101.121\database! 
    echo 按任意键结束退出!
    echo --------------------------------------------------------------------------------
    :exit
    pause
    echo 成功复制ryckxt数据库备份到远程服务器\\192.168.101.121\1上! 
    Pause已实验,操作成功。不知道还有没有其他的方法?
      

  2.   

    把Copy.bat做个任务计划,定时运行就可以了。
      

  3.   


    --映射网络上的共享文件夹为Z盘
    declare @sql1 varchar(8000)
    SET @SQL1=
    'exec master..xp_cmdshell ''net use z: "'  +  '网络上的共享路径'  +  '" "' +  '目标客户机访问密码'  +  '"'  +  ' /user:'  +  '目标客户机电脑名或IP'  +  '\'  +  '目标客户机上的有效用户名'  +  ''''
    EXEC (@SQL1)
    BACKUP DATABASE hrdba              --这里的test指的是数据库名称
    TO disk = 'z:\ggggg'          --这里指名的数据库路径
    WITH FORMAT,
    NAME = 'Full Backup of MyNwind' --这个是备注,无所谓。。随便写。
    --删除映射
    exec master..xp_cmdshell 'net use z: /delete'注意,前提是服务器能使用你提供的用户名及密码对客户机进行有效访问。然后将以上做成一个存储过程,放到作业里定时执行就可以了。
      

  4.   

    最安全的方法是备份到本机,用写个BAT文件,用“计划任务”定时复制到远程。我这样做几年了,从来没有出现过问题。
      

  5.   

    MSSQL 本身没有这样的备份功能,我和1楼的方法一样,现在我也是使用的这种方法
      

  6.   

    我是在第一步用sql备份;第二步用cmd执行rar.exe a -ag -df压缩移动文件
      

  7.   

    sql server2000 的复制、分发能不能做异地备份呢?
      

  8.   

    以上两种方法的前提是服务器能使用你提供的用户名及密码对客户机进行有效访问。
    以下的方法不需要这个前提
    利用FTP网络异地备份 SQL SERVER 2000 数据库解决方案:以下步骤在“需要备份的主机”中进行:
    ①、先用SQL SERVER 2000 本身的备份计划全库定时备份到服务器本地硬盘的备份目录;
    ②、在服务器中安装配置Serv-U,并将某个FTP帐户的主目录指定到①所指定的备份目录;以下步骤在“要备份到的主机”中进行:
    ③、在想要备份到的机器中,安装配置CuteFTP,并登录到②的FTP;
    ④、利用CuteFTP的“工具”→“文件夹工具”→“备份远程文件夹”菜单命令来进行定时计划备份。