我想同步2个数据库特定记录。 假设我有两个数据库;
1.Shop
2.Stock
现在让我们假设用户更改库存中特定产品的价格。我想在店内更改此产品价格!
我的工作是 - 假设互联网连接稳定,
我想到的另一个选择是复制。但我们使用的是SQL Server的快递版,据我所知,快递版不能作为出版商使用!
我的第一个选择是否有效用于此目的,或者我错过了什么,并且有更好的替代方案来实现此目的!
答案 0 :(得分:1)
你可以像上面的pRime那样在表上触发,但不是直接写入其他数据库而是将更改写入本地“staging”表,然后每隔20分钟左右安排一个任务将更新发送到第二个db。
您可以将第二个数据库设置为链接服务器。
这样,如果两个dbs之间的连接断开,就可以避免使触发器处于Read Read状态。
答案 1 :(得分:0)
你可以在Stock表上创建一个触发器。
CREATE TRIGGER triggerName
ON [Stock].[dbo].[products]
AFTER UPDATE
AS
IF ( UPDATE (productPrice))
BEGIN
--insert to shop
END
GO
答案 2 :(得分:0)
如果无法使用MS SQL Server复制功能(需要一些非Express版本)(请参阅http://msdn.microsoft.com/en-us/library/ms151198.aspx),那么另一个选择是使用 MS Sync Framework (可以使用DB到SQL CE等,文件甚至自定义数据源等) - 请参阅http://msdn.microsoft.com/en-us/library/bb726002.aspx。
如果你真的想自己在代码中实现它(我强烈建议不要这样做),那么将它实现为“推送方案”: