我在 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 时查看了Error并尝试了该解决方案。
我也试过:
exec sys.sp_cdc_add_job @job_type = N'capture'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
消息 22836,级别 16,状态 1,过程 sp_cdc_add_job_internal,第 …
我正在使用 SQL CDC 来跟踪 SQL Server 中多个表的更改。我想以正确的顺序报告这些更改,因为我有一个程序从每个 CDC 表收集数据。但我想确保这些表发生的所有更改都按正确的顺序报告。我可以依靠 LSN 来获得正确的序列吗?
我正在尝试使用CDC,而我正在按照以下步骤操作。
EXEC sys.sp_cdc_enable_db -启用数据库 EXEC sys.sp_cdc_enable_table
@source_schema = N'DW',
@source_name = N'APIprocess',
@role_name = NULL,
@supports_net_changes = 0-启用表格在参照表中插入和更新
DECLARE @Begin_LSN BINARY(10), @End_LSN BINARY(10)
SET @Begin_LSN =sys.fn_cdc_get_min_lsn('DW_APIprocess')
SET @End_LSN = sys.fn_cdc_get_max_lsn()
SELECT @Begin_LSN, @End_LSN, N'all';
SELECT * FROM cdc.fn_cdc_get_all_changes_DW_APIprocess(
@Begin_LSN ,
@End_LSN ,
'all') -尝试获取更改
当我执行第四步时抛出此错误:
为过程或函数cdc.fn_cdc_get_all_changes_提供的参数数量不足
然后我搜索了一个答案并找到了一些答案,但是由于函数sys.fn_cdc_get_max_lsn()返回null,因此没有出现任何问题,这就是我的问题。总之,我需要知道为什么该函数返回null而不是二进制。谢谢。
我在我的一个项目中使用Hibernate envers.它工作得非常好并且完成了这项工作.
我试图了解envers的内部工作机制.
envers如何在内部工作?
当实际事务成功并且审计表更新失败时会发生什么?整个交易会被回滚吗?
是否在与提供请求的实际线程不同的线程中执行envers?或者可以吗?
java hibernate change-data-capture hibernate-envers audit-logging
我有一个现有的HANA仓库,该仓库没有创建/更新时间戳。我需要生成许多夜间批处理增量文件,以发送到另一个平台。我的问题是如何检测哪些记录是新记录或已更改记录,以便可以在复制过程中捕获这些记录。
有没有办法使用HANA的内置功能来检测新记录/更改记录?
使用Vuejs,页面上某些元素的数据正在发生变化。
然而,这种变化并不被用户理解。
例如,我通过单击按钮来制作计数器。我将数据作为 {{counter}} 打印到 span 元素。
但这种变化并没有被用户注意到。我怎样才能给它各种动画?
我尝试结合一个CSS,我发现它有我想要的动画,但没有成功。
Vuejs 文档说你可以使用toggleCss 来做到这一点,但这不是我想要的。
var app=new Vue({
el: "#app",
data: {
myCount:0
}
,
methods: {
btnCount() {
this.myCount+=1
}
}
})
Run Code Online (Sandbox Code Playgroud)
<div id='app'>
<button @click='btnCount'>
+++++
</button>
<span class='myAnimSpan'>{{myCount}}</span>
</div>
Run Code Online (Sandbox Code Playgroud)
span:hover {
animation: shake 0.5s;
}
@keyframes shake {
0% { transform: translate(1px, 1px) rotate(0deg); }
10% { transform: translate(-1px, -2px) rotate(-1deg); }
20% { transform: translate(-3px, 0px) rotate(1deg); }
30% { transform: translate(3px, 2px) rotate(0deg); }
40% { transform: translate(1px, …Run Code Online (Sandbox Code Playgroud) 我有一个项目,涉及使用 Sql Server 2012 标准版。此项目需要启用 Sql Server Change Data Capture (CDC)。CDC 是否在 Sql Server 标准版中可用?
我有使用debezium更改数据捕获在mysql中捕获数据并使用kafka connect jdbc sink将其消耗给另一个mysql的问题.
因为debezium对kafka主题产生的模式和有效负载与kafka connect jdbc sink期望的模式不兼容.
当jdbc接收器想要使用数据并在另一个mysql中创建记录时,我得到异常.
我该如何解决这个问题?
change-data-capture apache-kafka apache-kafka-connect debezium
我正在尝试通过 Python 执行 CDC 操作。我正在尝试将未更改的数据(主文件/基表)与新文件(增量文件)合并。
下面是我写的函数:
def processInputdata():
df1 = pd.read_csv('master.csv')
df2 = pd.read_csv('delta.csv')
df=pd.merge(df1,df2,on=['cust_id','cust_id'],how="outer",indicator=True)
dfo=df[df['_merge']=='left_only']
dfT =pd.merge(dfo,df2,on=['cust_id','cust_id'],how="right",indicator=True)
Run Code Online (Sandbox Code Playgroud)
这是行不通的。下面是错误信息:
ValueError: 不能为指标列使用现有列的名称
我不确定是否有任何更简单或更好的方法来执行 CDC。
样本数据 :
主文件 :
cust_id cust_name cust_income cust_phone
0 111 a 78000 sony
1 222 b 8000 jio
2 333 c 108000 iphone
3 444 d 200000 iphoneX
4 555 e 20000 samsung
Run Code Online (Sandbox Code Playgroud)
增量文件:
cust_id cust_name cust_income cust_phone
0 222 b 20000 jio
1 333 c 120000 iphoneX
2 666 f 76000 oneplus
Run Code Online (Sandbox Code Playgroud)
预期输出:
cust_id cust_name cust_income …Run Code Online (Sandbox Code Playgroud) cdc.fn_cdc_get_net_changes_和cdc.fn_cdc_get_all_changes_SQL服务器之间有什么区别?
非常感谢,如果我能得到一些帮助.