我正在研究一个比较SAP HANA和Azure SQL Server数据集的解决方案,以检查SQL Server上数据的一致性。而不是从HANA获取所有字段,然后做一个"除",我正在考虑评估和比较两个系统上的Checksum或Hashbytes。
但是,相同数据的hashvalue不匹配。
SAP HANA上的Hash值 SELECT HASH_MD5(MANDT), HASH_SHA256(MANDT) from SLT_DECO100。MSKU where CHARG = 'UK2031RP' and WERKS = 'U72D'
0 x25daad3d9e60b45043a70c4ab7d3b1c60 x47dc540c94ceb704a23875c11273e16bb0b8a87aed84de911f2133568115f254
SQL Server上的哈希值 select HASHBYTES('MD5', MANDT), HASHBYTES('SHA2_256', MANDT)从整合。MSKU where CHARG = 'UK2031RP' and WERKS = 'U72D'
0 xa4dc01e53d7e318eab12e235758cfdc5
0 x04bc92299f034949057d131f2290667de4f97e016262874ba9703b1a72ae712a
需要理解和执行比较的支持
-
散列值可能会根据我们使用的
algorithms
而有所不同。 -
在下面的链接
comparing
中,通过在查询中提供管道分隔符,来自同一tables
的两个不同环境的数据。 -
pipe delimiters
将数据逐列分离,然后给出准确的结果。
查看此处使用哈希值比较记录
注意:以下文本的更多信息,请参见Microsoft Docs
-
算法(MD2, MD4, MD5, SHA &SHA1
从SQL Server 2016 (13.x)开始已弃用。 使用 SHA2_256或SHA2_512代替。旧的算法将继续工作,但会引发deprecation事件。