Other than table diff and PowerShell mentioned in the previous answers, you can also use SQL with the UNION ALL statement to find the records that don’t match in 2 identical tables:SELECT MIN(TableName) AS TableName ,ID ,NAME ,lastname ,Address ,City FROM ( SELECT 'Table A' AS TableName ,Customers.id ,Customers.NAME ,Customers.lastname ,Customers.Address ,Customers.City FROM Customers UNION ALL SELECT 'Table B' AS TableName ,CustomersOld.id ,CustomersOld.NAME ,CustomersOld.lastname ,CustomersOld.Address ,CustomersOld.City FROM CustomersOld ) tmp GROUP BY ID ,NAME ,lastname ,Address ,City HAVING COUNT(*) = 1 ORDER BY id;Another option you can try to solve compare two tables in SQL Server is using Data Compare in Visual Studio itself. It compares data in the source database and the target database and creates a synchronization script for the tables you’ve selected for synchronization.And last, but not least, you can use the SQL data comparison tool - ApexSQL Data Diff, to set all synchronization options, map the tables and columns with different names, create your own keys for comparison in the GUI. You can schedule it to run unattended and all you have to do is check SQL Server job history in the morning.