MSSQL中如何实现两张表数据同步??高分追加

MSSQL中有两个数据库.第一数据库有A表与第二数据库A表,结构一样.我想实现两张数据相同,也就是我从第一个数据A表中增加数据,第二数据库的A也增加相同数据?(简单说就是... MSSQL中有两个数据库.
第一数据库有A表与第二数据库A表,结构一样.
我想实现两张数据相同,也就是我从第一个数据A表中增加数据,第二数据库的A也增加相同数据?(简单说就是实现复制功能)高手怎么实现???

在线等,高分追加
展开
 我来答
chunchong
2007-01-16 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:0
展开全部
自从SQL Server 2000以来,你已经能够通过使用复制来创建一个备用的服务器、传输日志,以及备份和重新存储了——但是现在微软又引入了一个内建的工具,它可以实现自动的错误恢复。数据库镜像是SQL Server 2005的一个新特性,它允许你将一个SQL Server中的数据库内容镜像到另一个SQL Server上。它还让你可以在发生错误的时候,通过镜像数据库来进行错误恢复。

Edgewood Solutions 的Greg Robidoux 回答了我们一些SQL Server 2005中有关数据库镜像的常见问题,同时还解释了为什么你现在就应该开始测试这个内建的功能来看看它最终是否会给你的环境带来好处。

什么是数据库镜像?

Robidoux:数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中。镜像的拷贝是一个备用的拷贝,不能直接访问;它只用在错误恢复的情况下。

因为是在SQL Server 2005中新引入的特性,这个功能只能用在,这个版本的软件中。在某种程度上说,它是复制和日志传输的混合体:你所有的事物都在事物级别(复制)上移动(日志传输)到你的数据库的一个镜像拷贝上,同时减少了你在实现日志传输或者复制的时候可能会面临的问题。

复制包括大量的移动部分,并且如果你的数据库计划经常改变的话,要保证你的复制运行得流畅也是困难重重。对于日志传输,为了保证同步,同样需要实现很多的处理,例如创建备份、拷贝备份,以及备份重存。如果有一个进程崩溃了,整个处理过程就崩溃了。

数据库镜像的工作方式是什么?

Robidoux :要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境。主服务器被称为“基本的”,第二个服务器被称作“镜像的”。基本数据库就是你实际用着的数据库,镜像数据库就是你的数据库的备用拷贝。当事务写入你的基本服务器的时候,他们也同样被传送到并写入你的镜像数据库中。

除了基本和镜像之外,你还可以引入另一个可选的组件,名为“证人”。证人数据库是第三个SQL Server 2005运行实例,它是在判断什么时候进行错误恢复的时候,用于基本和镜像之间内部交流。只有当你想实现自动错误恢复的时候用到这个选项。它实现了2比1投票的能力,当我的一个组件不可达,并因此需要进行错误恢复的时候。证人服务器只有在你想实现自动错误恢复的时候才需要用到。

实现的方式是什么?

Robidoux :数据库镜像提供了三种实现的方式。根据你想要用什么方式来进行错误恢复处理来进行选择。

高可用性:这个操作模式选项允许你在两台服务器上同步事务写入,并支持自动错误恢复。要使用这个选项,你必须还要使用一个证人服务器。

高保护:这个选项可以让你在两台服务器上同步事物写入,但是错误恢复是手工的。因为自动的错误恢复不是这个选项的一部分,所以也不会用到证人服务器。

高性能:这个选项不关心两台服务器上的写入是否是同步的,因此在性能上有所提高。当使用这个选项的时候,你只能假设镜像服务器上的所有事情都是成功完成。这个选项只允许手工的错误恢复,因此不会用到证人服务器。

时刻记住将你的数据自动恢复到第二个拷贝才是数据库镜像的真正好处。因此,大多数的实现可能都是使用的高可达性方式。其他的选项仍然提供了内建的错误恢复过程,但是前提是你在发生错误的时候对进行自动的错误恢复怀有极大的兴趣。

数据库镜像可以工作在哪几个版本上?

Robidoux :数据库镜像只能在标准版、开发版和企业版的SQL Server 2005中找到。基本服务器和镜像服务器的SQL Server运行实例都需要是这几个版本。证人服务器可以运行在任何版本的SQL Server上。此外,还有其他的一些特性是SQL Server的开发版和企业版上特有的,但是标准版具有最基本的功能。
百度网友35788a8fb
2007-01-16 · TA获得超过1583个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:0
展开全部
这个用SQL 触发器来实现最好,打开企业管理器->右键点击A表->所有任务->管理触发器,然后按这个格式写:

CREATE TRIGGER InsertT ON A表 FOR INSERT
AS
insert B表(字段1,字段2,字段3)
select 字段1,字段2,字段3 from inserted

如果不用触发器,在增加表时,同时增加两个表的数据:
insert A表(字段1,字段2,字段3) values(数值,数值,数值)
insert B表(字段1,字段2,字段3) values(数值,数值,数值)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duzeh
2007-01-16 · TA获得超过131个赞
知道答主
回答量:61
采纳率:0%
帮助的人:64.8万
展开全部
MySQL4.0以上版本就支持这个功能了,一个做主服务器,一个做从服务器,配置一下就好了,官方网站上面有说明文档,可以下载,而且是还是中文的,你可以参考一下,复制的内容在第6章
第6章:MySQL中的复制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SOTP
2007-01-16 · TA获得超过1.7万个赞
知道大有可为答主
回答量:6763
采纳率:27%
帮助的人:2374万
展开全部
同时加载二个数据库中的表,同时写入即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式