0

我在本地有一个数据库,在远程位置有一个类似类型的数据库,现在每分钟我的本地数据库将插入大约 50 到 100 条记录。同时,我必须将这些记录插入到远程数据库中,该数据库位于具有公共 IP 的数据库服务器中。不会有任何 LAN 或 WAN,这必须使用 Internet 完成,但是可以使用公共 IP 访问该服务器,是否有可能我可以使用触发器或 SQL 服务器本身的某些东西来做到这一点?或者我应该使用.NET编写一些网络服务(基本上.net应用程序正在将数据记录到这个数据库中。请帮助我。谢谢,Rama

4

2 回答 2

0

您还可以创建一个 Windows 服务,该服务将更新远程服务器中的数据。如果您不想使用数据库的复制。

基本的想法是这样的。

Windows 服务将监视数据库更改以及是否有任何更改。它将使用 SQLBulkyCopy 类上传所有更改。

要了解有关 SQLBulkCopy 类的更多信息,请访问以下链接。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

这是 SQLBulkCopy 类的一个工作示例 - http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server

于 2012-06-08T07:21:37.070 回答
0

事务复制可以通过 Internet 部署,建议使用 VPN(或DirectAccess)。另一种方法是使用Service Broker 而不是 Replication

不起作用的东西是 Web 服务调用、触发器、.Net 自定义应用程序和类似的东西。当涉及到保持事务完整性(保证两台服务器上的提交或回滚)、检测数据更改、远程数据库关闭或可访问时的应用程序可用性(考虑修补)、可维护性、可服务性,更不用说处理任何一个的HR/DR解决方案网站,所有这些解决方案在现实生活中都失败了。

于 2012-06-08T07:05:38.997 回答