自主地从一个sql服务器推送到另一个sql server
Push from one sql server to another autonomously
我有一个应用程序,它要求我每次更新DB#1表中的某个条目时,都从DB#1提取某些信息,并将其推送到DB#2。投票率不需要非常快,但可能不应该低于1秒。我曾计划使用C++连接器库编写一个小型服务,但我担心会给DB#1带来太多负载。有更有效的方法吗?比如SQL脚本中的内置功能?
有很多方法可以实现这一点,因此可能是您喜欢的其他因素推动了这种方法。
如果SQL Server数据库位于同一服务器实例上:
- 推送到DB2表的DB1表上的触发器
- 存储过程(在DB1或DB2中),它使用
MERGE
来识别更改并将其同步到DB2,然后使用SQL作业按计划调用该过程 - 对数据库和所需的表启用更改跟踪,然后使用存储的proc+SQL作业发送更改,而不对源表进行任何查询
如果在不同的实例或服务器上(如果在同一实例上也可以工作):
- SSIS包,用于识别更改并推送到DB2(奖金可以用于更改数据捕获)
- 合并复制以同步更改
- AlwaysOn可用性组同步整个dbs
- Microsoft同步框架
对您的偏好或舒适度一无所知,我可能会从合并复制开始——设置起来可能有点棘手和乏味,但性能非常好。
您可以在DB1中创建触发器,并在DB1和DB2之间创建dblink。因此,您可以在DB1中以本机方式调用触发器,并将数据直接传输到DB2。
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 从服务器传输到客户端的消息不会出现
- 如何使用c++在VS 2019上运行SQL查询
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- OpenSSL TLS服务器-使用客户端证书白名单
- 我正在开发服务器,ip作为参数传递不起作用
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 无法使用 soci 库连接到 SQL 服务器
- 我需要SQL服务器才能使用Qt的QtSql库吗?
- 如何将自动递增的主键的数据从 sql 服务器获取到我的数据网格视图
- 如何验证是否已在 SQL 服务器中删除行
- c++浮点到sql服务器DECIMAL的正确转换
- 针对 Boost ASIO 的设计,用于 Web 服务器的工作线程 SQl 查询'practical'
- 为什么SQL服务器将值传递给存储过程中的OUTPUT变量?
- 自主地从一个sql服务器推送到另一个sql server
- sql 服务器 - 如何在 ODBC 中使用C++多个记录集