好贷网好贷款

两台机子都装有sql server2008,a做主机 ,b做备机。任何a的更改,同步或异步到b机 20fredrickhu]

发布时间:2016-12-3 21:46:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"两台机子都装有sql server2008,a做主机 ,b做备机。任何a的更改,同步或异步到b机 20fredrickhu]",主要涉及到两台机子都装有sql server2008,a做主机 ,b做备机。任何a的更改,同步或异步到b机 20fredrickhu]方面的内容,对于两台机子都装有sql server2008,a做主机 ,b做备机。任何a的更改,同步或异步到b机 20fredrickhu]感兴趣的同学可以参考一下。

平时都访问a机 一、任何a的更改,同步或异步到b机 手动功能: 1 当a死机不可用时,访问b可以更改这个数据的内容 2 当a恢复时,将b的数据同步到a。 3 b继续接受a的异同或同步数据 谢绝粘贴2000,或2005不适用的转贴。

其实也可以考虑触发器同步 --==================================================== --发布/订阅的效果最好.    --自己写触发器同步的实时性和可控制性最好. --==================================================== 如果只是简单的数据同步,可以用触发器来实现.下面是例子:           --测试环境:SQL2000,远程主机名:xz,用户名:sa,密码:无,数据库名:test           --创建测试表,不能用标识列做主键,因为不能进行正常更新      --在本机上创建测试表,远程主机上也要做同样的建表操作,只是不写触发器      if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[test]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1)      drop   table   [test]           create   table   test(id   int   not   null   constraint   PK_test   primary   key      ,name   varchar(10))      go           --创建同步的触发器      create   trigger   t_test   on   test      for   insert,update,delete      as      set     XACT_ABORT   on      --启动远程服务器的MSDTC服务      exec   master..xp_cmdshell   'isql   /S"xz"   /U"sa"   /P""   /q"exec   master..xp_cmdshell   ''net   start   msdtc'',no_output"',no_output           --启动本机的MSDTC服务      exec   master..xp_cmdshell   'net   start   msdtc',no_output           --进行分布事务处理,如果表用标识列做主键,用下面的方法      BEGIN   DISTRIBUTED   TRANSACTION      delete   from   openrowset('sqloledb','xz';'sa';'',test.dbo.test)      where   id   in(select   id   from   deleted)      insert   into   openrowset('sqloledb','xz';'sa';'',test.dbo.test)      select   *   from   inserted      commit   tran      go           --插入数据测试      insert   into   test      select   1,'aa'      union   all   select   2,'bb'      union   all   select   3,'c'      union   all   select   4,'dd'      union   all   select   5,'ab'      union   all   select   6,'bc'      union   all   select   7,'ddd'           --删除数据测试      delete   from   test   where   id   in(1,4,6)           --更新数据测试      update   test   set   name=name+'_123'   where   id   in(3,5)           --显示测试的结果      select   *   from   test   a   full   join      openrowset('sqloledb','xz';'sa';'',test.dbo.test)   b   on   a.id=b.id           

2000:Standby Server 2005: Standby Server or Mirror 据说SQL 2005的MIRROR不够稳定 建议找个顾问咨询,而且提供后续技术支持,出点费用根本不多 若你自己在不很熟悉的情况下去玩,若出点什么异常,很难收摊子

安装windows Server 2003 企业版 + SQL 企业版做群集吧.

sql 2005 的境像功能没试过,但sql 2008的境像还是不错的.可以考虑升级sql2008

数据库镜像

镜像 合并复制

--启动远程服务器的MSDTC服务      exec   master..xp_cmdshell   'isql   /S"xz"   /U"sa"   /P""   /q"exec   master..xp_cmdshell   ''net   start   msdtc'',no_output"',no_output           --启动本机的MSDTC服务      exec   master..xp_cmdshell   'net   start   msdtc',no_output      这两句语句是创建连接吗? 能否详细解译一下是怎么创建的。初学都请谅解。本人用的是MS SQL SERVER 2000

mark

放心使用mirror,在SQL SERVER 2008中

该回复于2009-07-17 19:48:15被版主删除

哦,学习了。不错

学习

关注

第一次聽說鏡像,干嗎用的?請教

上一篇:sql server存储过程 20alan_lau]
下一篇:建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 0fredrickhu]

相关文章

相关评论