1

在 Sql Server 数据库中,有没有办法检测数据更改,我尝试使用checksum&checksum_agg但在单个表上,我想要的是所有表的整个校验和(哈希)

我用于信号表的查询是

select isnull(CHECKSUM_AGG(CHECKSUM(*)),0) from mytable
4

3 回答 3

1

听起来您需要 INSERT/UPDATE/DELETE 触发器。

我不确定这是否有效。随着表的增长,计算将变得更加昂贵。您确定每次数据更改时都需要这样做吗?多久进行一次更改?您在每次操作中都丢掉了很多工作。也许您可以在需要时根据要求进行操作,而不是每次写入操作。

于 2013-01-27T14:03:02.400 回答
1

您可以使用“SP_MSFOREACHTABLE”命令循环遍历所有表并汇总总和

于 2013-01-27T20:58:28.107 回答
0
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) as test FROM yor_table_name WITH (NOLOCK);

你可以用这段代码检测sql server中的变化,这里有一个号码池,每次变化都会选择一个号码,一个号码不会连续出现两次。

于 2021-07-02T06:02:39.437 回答