http://user.qzone.qq.com/810087456/infocenter

ymecho

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、发布订阅的方法   http://bbs.csdn.net/topics/230030667?page=1   时间差1分钟左右
2、数据库镜像的方法
3、定时DTS 或者 SSIS 增量传输的方法

4 、备份还原技术 http://bbs.csdn.net/topics/230030667?page=3

我之前也有过搂住一样的需求,当时用了发布/订阅,愣是没搞定。
后来另辟蹊径,找到了非常简单实效的方法。
A服务器为主服务器,客户端更新都更新在A服务器上;
B服务器为次服务器,B定时与A保持一致,结果B机时A的一个拷贝/备份,只是时间上有一个差。

实现方法:A定时备份;B定时以A的备份进行还原

具体方法如下:(MS-SQL中)

打开A服务器企业管理器,找到管理-SQL Server代理-作业,创建一个新作业,名字可以起备份,作业中创建一个步骤:
SQL code

?
1
BACKUP DATABASE [TEST] TO  DISK = 'F:\SQL_SERVER\TEST\DB.BACKUP\TEST_BACKUP.BAK'  WITH  INIT

以上TEST是数据库名称
然后在该作业里创建一个调度:具体周期时间的根据实际需求确定,比如每隔15分钟...
保存并运行作业。把F:\SQL_SERVER设为共享。

打开B服务器企业管理器找到管理-SQL Server代理-作业,创建一个新作业,名字可以起备份,作业中创建一个步骤:
SQL code
?
1
exec master..xp_cmdshell  'net use  \\SERVER-A_IP\SQL_SERVER\TEST\DB.BACKUP  password  /user:username'

以上目的就是同A取得联系,为后续还原做准备
然后再添加第二个步骤:
SQL code
?
1
restore database [TEST] from disk='\\SERVER-A_IP\SQL_SERVER\TEST\DB.BACKUP\TEST_BACKUP.BAK'

注意两个服务器都要有相同的数据库存放路径,我这里是备份放在F:\SQL_SERVER\TEST\DB.BACKUP,数据库放在F:\SQL_SERVER\TEST
调度和A一样就行了。
保存并运行作业。

看看是不是实现了B同步于A?
我就是用这种方法建立了3个服务器,自从这样做以来就没出现过因服务器down而造成的客户端不可用。

如果实际需求和我得有点出入的话,我相信只要稍微调整两个服务器中作业的步骤就可以了。

5、少量数据直接用触发器。

6、web 服务 技术。

7、日志传送

posted on 2014-03-03 21:06  ymecho  阅读(754)  评论(1编辑  收藏  举报