执行校验和以检查源表行是否加载到目标表中

我试图从旧的SQL Server 2000加载数据到新的SQL Server 2014.我需要做一个校验和来检查所有的源数据是否加载到目标数据库(SQL Server 2014)中。

我为相同的工作创建了插入语句。 我需要使用校验和来确保所有源行都加载到目标表中。 有人能帮我一下吗?

任何帮助表示赞赏。

这是我的插入语句:

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

嗨,这是一个非常naiv的解决方案,但如果你只需要一次检查,它是快速的:)

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

然后比较它:

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

如果你得到了所有的ID的SUM应该是一样的:)

链接地址: http://www.djcxy.com/p/17143.html

上一篇: Perform checksum to check if source table rows are loaded in target table

下一篇: Need to reorganize or recreate index after insert?