【发布时间】:2015-03-18 09:04:57
【问题描述】:
我在 Express 中创建了自定义脚本,将 SQL Server 数据库实际迁移到 MongoDB。
但是我在两个数据库之间进行实时同步时遇到了问题。
目前我在两个数据库中都添加了 updated_by 列。
然后我从 MongoDb 和 SQL Server 数据库中获取最新的 updated_by 行。
然后我检查日期差异并根据它更新我的 MongoDB 数据库。
有很多 db 表,我发现很难确定哪个表正在更新。
SQL Server 2008 R2 中是否有任何日志说明更新了哪个表以及何时更新?
我需要一种机制,例如,db 表中的任何数据更新都应该立即将这些行同步到我的 MongoDB。
也欢迎您对实时数据同步提出更多建议。
提前致谢。 :)
【问题讨论】:
-
我在将 mssql 实时同步到 mongodb 时遇到了同样的问题,请帮助解决上述问题。
-
查看 SQL Server 中的Change Data Capture feature,它应该提供此类信息
-
另一种选择是使用 Apache Camel 迭代 SQL 数据,过滤掉已经存在的数据集并将新的数据集写入 MongoDB。请注意,会有相当长的延迟。至于实时同步,除了将其写入两个数据库之外,我没有看到其他选项。在不了解您的用例的情况下,很难找到解决方案,
-
@marc_s - 我尝试了 CDC 功能.. 1. 我使用
sys.sp_cdc_enable_db更改为我的数据库启用的数据捕获 2. 使用sys.sp_cdc_enable_table启用表跟踪然后我尝试了更多插入我的源表上的命令,但我无法在生成的 CT 表下找到任何条目。请就此提出更多建议。我想我错过了一些东西.. -
@marc_s - CDC 为我工作.. 非常感谢.. 3 为你欢呼:) 由于某种原因,SQL Server 代理已关闭.. 我刚刚打开它,它对我有用..
标签: mongodb data-migration data-synchronization sql-server-2008r2-express