我有两个sql2000的数据库,有的时候服务器老停,所以我想数据同步,这样服务器停了以后我立马可以替换上数据库。
大体要实现的可以通过两个方法做软件:
一、就是说,1、就是有两个数据库不同名字账号密码 2、其中一个是使用的 3、想通过软件做备份这个使用的数据库到本地 如果能实现时间到了自动更好,4、本分下来的文件,想通过软件恢复到远程另外一个不同名字、账户的数据库。
二、或者另外一个方法:通过软件直接把两个数据库联系起来,实现数据同步,只要设置账号密码,两个数据根据时间自动写入 ,这个软件的放自己服务器上

解决方案 »

  1.   

    看看以下文字对你有没有用
    --数据备份与还原>>同步备用服务器
    --1、完全备份主数据库
    --2、使用带SANDBY子句的RESTORE DATABASE语句从主数据库的完全备份中还原生成备用数据库
    --3、创建作业,使用BACKUP LOG定时对主数据库时行日志备份
    --4、创建作业,使用带STANDBY子句的RESTORE LOG语句定时从主数据库的日志备份中恢复数据到备用数据库
    --5、主数据库不可用时,使用带RECOVERY子句的RESTORE LOG语句使备用数据库升级为主数据库
    ----具体代码及说明如下
    ---->>首先、创建一个淙用的数据库(主数据库)
    create database db_test_primary
    on
    (
       name=db_test_primary_data,
       filename='d:\db_test_primary_data.mdf')
    log on
    (
        name='db_test_primary_log',
        filename='d:\db_test_primary_log.ldf'
    )
    go--在主数据库上创建表
    create TABLE db_test_primary.dbo.db_test_primary1(id int)
    insert db_test_primary.dbo.db_test_primary1 select top 1000 ID from dbo.sysobjects
    go
    --对主数据库进行备份
    backup database db_test_primary
      to disk='d:\db_test_primary_data.bak'
      with format
    go--通过主数据库备份文件创建备用数据库(演示主数据库与这个备用数据库之间的同步)
    restore database db_test_second
      from disk='d:\db_test_primary_data.bak'
      with replace,
      standby='d:\db_test_primary_bak.ldf',
      move 'db_test_primary_data' to 'd:\db_test_second_data.mdf',
      move 'db_test_primary_log' to 'd:\db_test_second_log.ldf'
      
    --启动SQL AGENT服务(需要通过作业定时将主数据库同步到备用数据库)
    exec master.dbo.xp_cmdshell 'net start sqlserveragent',no_output
    go--创建主服务数据库与备用服务器数据库之间同步的作业
    declare @jobid uniqueidentifier
    exec msdb.dbo.sp_add_job
          @job_id=@jobid output,
          @job_name=N'数据同步'
          
    --创建同步处理步骤
    exec msdb.dbo.sp_add_jobstep
         @job_id=@jobid,
         @step_name=N'数据同步',
         @subsystem='TSQL',
         @command=N'
              --主数据库中进行日志备份
              backup log db_test_primary
                to disk=''d:\test_log_primary.bak''
                with format
                
                --备用数据中还原主数据库的日志备份(应用主数据库中的最新变化)
                --注:实际应该对主数据库备份与备用数据库的还原作业应该分别在主服务器和备用服务器上建立,
                    --并且备份文件应该放在主服务器和备用服务器都能访问的共享目录中
               restore log db_test_second
                from disk=''d:\test_log_primary.bak''
                with standby=''d:\test_log.ldf''',
          @retry_attempts=5,
          @retry_interval=5
    --创建调度
    exec msdb.dbo.sp_add_jobschedule
      @job_id=@jobid,
      @name='时间安排',
      @freq_TYPE=4,
      @freq_interval=1,
      @freq_subday_type=0x4,
      @freq_subday_interval=1
          
    --添加目录服务器
    exec msdb.dbo.sp_add_jobserver
      @job_ID=@jobid,
      @server_name=N'(local)'
    go
    --通过上述处理,主数据库与备用数据库之间的同步关系已经设置完成
    --下面开始测试是否能实现同步
    create table db_test_primary.dbo.db_test_primary3(id int)
    go
    insert db_test_primary.dbo.db_test_primary3 select top 5000 id from dbo.sysobjects
    waitfor delay '00:01:30'
    go--查询一下备用数据库,看看同步是否成功select * from db_test_second.dbo.db_test_primary3
    drop table db_test_primary.dbo.db_test_primary3
    --最后删除测试环境
    drop database msdb.dbo.sp_delete_job
      @job_name=N'数据同步'