执行校验和检查源 table 行是否加载到目标 table

Perform checksum to check if source table rows are loaded in target table

我正在尝试将数据从旧的 SQL Server 2000 加载到新的 SQL Server 2014。我需要执行校验和检查是否所有源数据都已加载到目标数据库中(SQL 服务器 2014)。

我已经创建了同样有效的插入语句。我需要使用校验和来确保所有源行都加载到目标 table 中。有人可以帮我吗?

感谢任何帮助。

这是我的插入语句:

INSERT INTO [Test].[dbo].[Order_tab] 
    ([rec_id]
      ,[date_loaded]
      ,[Name1]
      ,[Name2]
      ,[Address1]
      ,[Address2]
      ,[City]
      ,[State]
      ,[Zipcode]
      ,[e_Name1])
      SELECT s.[rec_id]
      ,s.[date_loaded]
      ,s.[Name1]
      ,s.[Name2]
      ,s.[Address1]
      ,s.[Address2]
      ,s.[City]
      ,s.[State]
      ,s.[Zipcode]
      ,ENCRYPTBYKEY(key_guid('EncryptionKey'),s.[Name1])
        FROM [LinkedServer].[SourceTest].[dbo].[Order_tab] s
        left join [Test].[dbo].[Order_tab] d on d.rec_id= s.rec_id
        where d.rec_id IS NULL

嗨,这是一个非常幼稚的解决方案,但如果您只需要一次性检查,它会很快:)

SELECT SUM([rec_id])
FROM [Test].[dbo].[Order_tab]

然后比较:

SELECT SUM([rec_id])
FROM [LinkedServer].[SourceTest].[dbo].[Order_tab]

如果所有内容都超过了 SUM,那么 ID 应该是相同的:)