在软件级别进行SQL Server复制?

时间:2010-01-05 18:42:28

标签: sql-server replication

我需要通过DSL线路(大约16k / s)远程连接到SQL Express 2005实例的速度更快。

我想我可以通过在客户端的本地计算机上安装SQL Express 2005实例并将其作为服务器上数据的缓存版本来实现。

我打算只允许更改远程服务器,然后要求用户偶尔从中删除更新。它并不理想,但它会起作用。

那么,SQL Express是否支持我通过网络查询:

INSERT INTO local.dbo.users (id, username, email, timestamp_modified)
    SELECT remote.dbo.users(id, username, email, timestamp_modified) 
        WHERE remote.dbo.users.timestamp_modified > LAST MODIFIED

2 个答案:

答案 0 :(得分:2)

您可以使用真正的复制。您还应该查看Service Broker。两者都允许您将数据从远程推送到SQL Express实例。 Service Broker执行和扩展性能更好,经证明可以在慢速DSL连接上运行,但学习曲线陡峭。 Replicaiton很容易设置,但你必须忍受它的局限性。

使用您计划的链接服务器不起作用。不可靠,速度慢,并且通过链接服务器进行更新需要您设置分布式事务。

答案 1 :(得分:1)

为什么要编写一些已经构建过的东西并且可以使用已安装的产品?

您应该通过DSL线路查看Log Shipping。它是一个非常可靠的SQL Server产品,已经过广泛测试。

http://msdn.microsoft.com/en-us/library/ms187103.aspx

虽然快速版没有SQL Server代理,但您可以使用以下解决方法:

http://blog.willbeattie.net/2009/07/log-shipping-in-sql-server-express-2008.html