问题标签 [change-data-capture]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 更改数据捕获跟踪字段中的所有更改,即使它仅分配给 Dynamics ax 表中的少数字段
我已经为一个表中的 5 个字段启用了更改数据捕获,该表有 10 个用于 Dynamics ax 数据库的字段
在这 5 个字段中,我修改了字段可用。因此,每当我更改这 10 个字段中的字段时,modifiedBy 都会发生变化,并在 CDC 表中对其进行跟踪。但是,如果其他 5 个未跟踪的字段发生更改,我不想跟踪 CDC 表中的更改。
例如:表 1
我正在跟踪 G、H、I、J、F。但是 J 是 modifiedBy 字段,每次您在九个字段中的任何一个中进行更改时都会更改。因此,如果您在字段 A 中进行更改,J 将更新,以便 CDC 捕获交易。我不想跟踪。
您能否为此建议我一些解决方案。提前致谢。
sql-server - SQL CDC 数据处理选项
我在几个表上设置了一个 SQL Server CDC。一旦启动 CDC,就会填充 cdc 表。我想处理这些更改并为发生的每个更改生成 MQ 消息,以将其发送到外部消息队列。
处理这些数据的最佳方法是什么。我看过一些像 sqdata 这样的产品,但我在想是否有更好的方法。我已经使用服务代理查看了 CDC,但这会生成仅发送到外部应用程序的消息。
我的另一个问题是,当 CDC 更改生成消息时,我希望它删除更改数据,以便如果我想扩展此处理服务,那么它不应该处理已处理的数据。
sql-server - SQL Server 中的数据库或表的日志序列号 (LSN) 是否唯一?
我正在使用 SQL CDC 跟踪 SQL Server 中多个表的更改。我想为每个我有一个从每个 CDC 表中收集数据的程序以正确的顺序报告这些变化。但我想确保这些表发生的所有更改都以正确的顺序报告。我可以依靠 LSN 来获得正确的序列吗?
sql-server - cdc.fn_cdc_get_net_changes_ 和 cdc.fn_cdc_get_all_changes_ 的区别
cdc.fn_cdc_get_net_changes_
SQL server和cdc.fn_cdc_get_all_changes_
in SQL server有什么区别?
如果我能得到一些帮助,我们将不胜感激。
sql-server - SQL Server 2012 更改数据捕获错误 14234
我在 SQL Server 2012 实例上设置变更数据捕获时遇到问题。每当我尝试在表上启用 CDC 时,都会收到以下错误:
消息 22832,级别 16,状态 1,过程 sp_cdc_enable_table_internal,第 623 行
无法更新指示表 [dbo] 的元数据。[TableName] 已为更改数据捕获启用。
执行命令 '[sys].[sp_cdc_add_job] @job_type = N'capture'' 时发生故障。
返回的错误是 22836:'无法更新数据库 [数据库名称] 的元数据以指示已添加更改数据捕获作业。执行命令“sp_add_jobstep_internal”时发生故障。
返回的错误为 14234:“指定的 '@server' 无效(sp_helpserver 返回有效值)。”。使用操作和错误来确定失败的原因并重新提交请求。'。使用操作和错误来确定失败的原因并重新提交请求。
服务器的名字没有变,我尝试了sp_dropserver
/sp_addserver
解决,收到如下错误:
消息 15015,级别 16,状态 1,过程 sp_dropserver,第 42 行
服务器“ServerName”不存在。使用 sp_helpserver 显示可用的服务器。消息 15028,级别 16,状态 1,过程 sp_addserver,第 74 行
服务器“ServerName”已存在。
正如我所说,我正在尝试设置 CDC 而不是复制。SQL Server 的版本是:11.0.5058.0 (SQL Server 2012 SP2)
我在表级别启用 CDC 时查看了错误并尝试了该解决方案。
我也试过:
我收到以下错误:
消息 22836,级别 16,状态 1,过程 sp_cdc_add_job_internal,第 282 行
无法更新数据库 [DatabaseName] 的元数据以指示已添加更改数据捕获作业。执行命令“sp_add_jobstep_internal”时发生故障。
返回的错误为 14234:“指定的 '@server' 无效(sp_helpserver 返回有效值)。”。使用操作和错误来确定失败的原因并重新提交请求。
任何帮助将不胜感激。
sql - SQL Server 更改数据捕获 - 如何按事务分隔日志条目?
我刚刚开始使用 SQL Server 的变更数据捕获功能。我希望能够根据它们所属的事务从更改表中挑选出条目。有没有办法做到这一点?这些表中的事务 ID 字段似乎没有对应任何有意义的内容。
我意识到有 LSN,您可以查找一般的开始和结束时间,但是是否可以考虑同时运行的多个事务,每个事务都会影响不同的记录?(不同操作的开始和结束时间可能交错)
sql-server - 将 SQL Server 2012 在线数据库的更改记录发送到应用程序
我正在编写两个玩家可以在线一起玩的在线游戏(例如国际象棋)。每个玩家都应该在他们的计算机上安装了游戏应用程序(由 C# 开发)。当玩家进行某些操作时,已放置在互联网上的数据库(SQL Server 2012)的记录将被更改。我的需要:当这个在线数据库的记录发生变化时,整个记录立即发送到双方玩家的游戏应用程序。 谢谢。
sql-server - 如何从 CDC 中删除列(在 SQL Server 中)
我使用下面的代码在表上启用了 CDC,默认情况下它包括所有列。还有另一种方法可以在指定列时在表上启用 CDC(代码如下)。但是,对我来说,为时已晚 - 鉴于我的 CDC 已经创建并包含所有列。如何从 CDC 监视列表中删除我不想要的列(我在元数据中到处搜索,但找不到任何东西):
oracle - 如何集成 Oracle 和 Kafka
我一直在尝试找到在单个 Oracle 11g R2 实例中捕获更改通知并将这些事件传递到 Apache Kafka 队列的最有效/最有效的方法,但是我无法找到任何简单的示例或教程.
我在 Oracle 方面看到了一些可能性(Streams、Change Data Capture、triggers (yuck) 等),但我仍然不确定哪个是最好的追求。
这是一个在 GitHub 上使用 MySQL 和 Kafka 的项目,名为mypipe,我只是没有看到任何与 Oracle 类似的东西。我不确定是否最好专注于为此编写一个 Oracle 包,或者类似于 mypipe 项目等的层等等。
任何建议、建议或示例将不胜感激。谢谢你。
sql-server - 如何更改 CDC 的保留期或为其设置条件 (SQL Server 2012)
我在 SQL Server 2012 环境中,并且在表上启用了 CDC。总而言之,该表用于填充数据仓库(基本上,该表的内容在其他地方重复)。
但是,我刚刚注意到我们丢失了大量数据,因为 CDC 启用了默认设置 3 天。我知道如何编写一个查询来启用具有NEW /DIFFERENT 保留期的 CDC。但这不是任务,任务是我必须能够更改当前的 CDC 设置。那么,有没有办法改变保留期?
另外,有没有办法防止 CDC 完全删除过期记录?意思是,有没有办法实现一个标志,防止 CDC 删除任何记录,除非该记录已经被转移/移动。
非常感谢你!