执行校验和以检查源表行是否加载到目标表中
我试图从旧的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
应该是一样的:)
上一篇: Perform checksum to check if source table rows are loaded in target table