首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server 2005/2008国际实时可用性

SQL Server 2005/2008国际实时可用性
EN

Stack Overflow用户
提问于 2009-05-01 15:44:06
回答 1查看 144关注 0票数 0

我的公司最近在新加坡开设了一个办事处。我在使用SQL Server2005后端开发我们内部用于管理公司的web应用程序。由于来自新加坡的网络访问速度很慢,我们正在向他们发送一台服务器,该服务器将托管web应用程序和数据库的本地副本,我们希望使他们的本地数据库版本与我们的保持同步。美国应用程序和新加坡应用程序都可以读/写数据。

合并复制是这个问题的正确解决方案吗?这是我一直在研究的路径,它似乎最适合我们想要的东西。SQL Server 2008中有没有更好的功能?您为国际协作实施了哪种类型的数据库可用性解决方案?

EN

回答 1

Stack Overflow用户

发布于 2009-05-01 16:56:03

如果这两个位置的某些人必须更新任何数据,则合并复制是可行的。但是..。

在以下情况下,我建议使用点对点复制:

  • Office1 (美国?)只需要更新/删除由Office1应用程序插入的记录。
  • Office2 (新加坡)只需要更新/删除由Office2应用程序插入的记录。

两个办公室都可以查询所有数据。

引用:在对等复制中,您需要理解的最基本概念是,每台服务器都包含所有数据,但每台服务器只负责更新自己的数据子集。因此,每个服务器都具有相同的模式,并且每个服务器都是其他服务器上发生的所有更改的订阅者,同时又是其自身已更改数据的发布者。当一台服务器上的数据发生更改时,这些更改将发布到对等网络中的所有订阅者。每台服务器都包含并更新特定于其地理位置的数据,还可以看到来自其他位置的所有数据。对等复制的一个关键部分是,每个服务器负责更改自己的数据集,其他任何位置都不能更改该数据集中的任何数据。如果违反此规则,数据可能会在两个位置更改,并且由于站点之间没有数据锁定,因此当复制数据时,您可能会得到不一致的结果。

更多信息可以在这里找到:http://www.sqlmag.com/Article/ArticleID/49241/sql_server_49241.html

http://technet.microsoft.com/en-us/magazine/2006.07.insidemsft.aspx

http://www.sql-server-performance.com/articles/dba/peer-to-peer_replication_p1.aspx

如何实现它。

必须从两个位置更新的表必须复制,例如:

代码语言:javascript
运行
复制
TableOrders1 (OrderID int IDENTITY(1,2) NOT NULL, Col1 int, Col1 nvarchar(), etc.) 
TableOrders2 (OrderID int IDENTITY(2,2) NOT NULL, Col1 int, Col1 nvarchar(), etc.) 

然后使用对等复制将数据从TableOrders1发送到Office2,从TableOrders2发送数据到Office1,依此类推

要查询数据,您可以创建一个视图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/811928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档