局域网内两台SQL Server电脑如何实时同步数据??

Spring414 2005-02-25 12:12:49
A,B都有相同的数据库结构和内容,有多个数据库.
需要:当A上有任何操作时,都同步更新到B.
操作系统和SQL Server版本有要求吗?
请详细说明一下操作步骤!!
...全文
772 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
deyangwangyu 2005-03-08
  • 打赏
  • 举报
回复
有启发
eason2000 2005-02-27
  • 打赏
  • 举报
回复
订阅和发布可以实现以上功能。操作比较简单
Spring414 2005-02-25
  • 打赏
  • 举报
回复
需要实时备份.
631799 2005-02-25
  • 打赏
  • 举报
回复
用一台,定时备份不就行了啊
Spring414 2005-02-25
  • 打赏
  • 举报
回复
B电脑备份用呀,一台不安全.
zheninchangjiang 2005-02-25
  • 打赏
  • 举报
回复
那只要用一台就行了
yuchuanbo 2005-02-25
  • 打赏
  • 举报
回复
我觉得sql 中的 logshipping 比复制和发布好用!
实在不行的话,把生产服务器和备份服务器做成
stand by 的也比复制好。至少可控性比较的好!
LoveLwn 2005-02-25
  • 打赏
  • 举报
回复
应用程序的业务逻辑类完善之后,在主窗体上添加一个名为“更新数据集”的按钮,并添加该按钮的事件响应函数如下:

private void button1_Click(object sender, System.EventArgs e) { if( ds.HasChanges() ) { pubs.UpdatePublisherName( ds.GetChanges() ); ds.Clear(); ds = pubs.GetPublisherInfo(); } }


到此为止,应用程序的业务逻辑类和主窗体类都已经更新完毕,现在的应用程序能根据用户的改用更新数据库中的相关内容了。



LoveLwn 2005-02-25
  • 打赏
  • 举报
回复
接着,我们在上面的应用程序中调用该存储过程以更新发行商的名称。首先,在原有应用程序的基础上完善其业务逻辑类-Publishers类:

1.添加一个新的SqlCommand对象,该对象能作为SqlDataAdapter对象的 UpdateCommand属性被使用:
private SqlCommand cmdUpdPubs;
2.更新该类的构造函数Publishers()函数,添加以下内容:
// 创建另一个SqlCommand对象,该对象引用更新发行商名称的存储过程
cmdUpdPubs = new SqlCommand();
cmdUpdPubs.Connection = cnPubs;
cmdUpdPubs.CommandType = CommandType.StoredProcedure;
cmdUpdPubs.CommandText = "up_UpdatePublisherName";
// 为上面的SqlCommand对象添加必要的参数
cmdUpdPubs.Parameters.Add( "@pub_id", SqlDbType.Char, 4, "pub_id" );
cmdUpdPubs.Parameters.Add( "@pub_name", SqlDbType.VarChar, 40, "pub_name" );
SqlParameter updParam = new SqlParameter
( "@Original_pub_name", SqlDbType.VarChar, 40, "pub_name" );
updParam.SourceVersion = DataRowVersion.Original;
cmdUpdPubs.Parameters.Add( updParam );
3.指定SqlDataAdapter对象的UpdateCommand属性为上面定义的SqlCommand对象:
daPubs.UpdateCommand = cmdUpdPubs;
4.添加方法UpdatePublisherName():
public void UpdatePublisherName( DataSet dsChanges )
{
// 更新所有改动
daPubs.Update( dsChanges );
}
LoveLwn 2005-02-25
  • 打赏
  • 举报
回复
在数据库事务处理系统中,数据的同步性问题非常重要,下面我们来建立一个能检测数据同步性的存储过程。



CREATE PROCEDURE dbo.up_UpdatePublisherName
(
@pub_id char(4),
@pub_name varchar(40),
@Original_pub_name varchar(40)
)
AS
if exists(select pub_id
 from publishers
where (pub_id = @pub_id) AND (pub_name = @Original_pub_name))
Begin
 UPDATE publishers SET pub_name = @pub_name
 WHERE (pub_id = @pub_id)
End
RETURN

Spring414 2005-02-25
  • 打赏
  • 举报
回复
可以具体点吗?
yown 2005-02-25
  • 打赏
  • 举报
回复
做发布,订阅服务
wyb0026 2005-02-25
  • 打赏
  • 举报
回复
Sqlserver 发布订阅
wankan 2005-02-25
  • 打赏
  • 举报
回复
人家是要同步数据啊!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧