Skip to main content

SQL Data Tools - Compare Data

Compare Data between two tables

SQL Server Database with the same schema architecture can differ in different environments like Dev, Staging, and Production, especially in configuration tables. Let's see how we can easily sync the data in two different tables.

                                  Figure: SQL Server Data Tools can be handier than any of these tools

Visual Studio SQL Data Tools

Tool -> SQL  Server -> New Data Compare

SQL Server Data Compare

Then we have to select source and destination. Then check the options you want to compare

SQL Data Compare

Then select the objects you want to compare (table or view)
After comparison, you can output something like this - 

SQL different records


  • Different Records - Records that exist in both source and destination. These will be updated in destination
  • Only In Source - Data in Source DB, NOT in Destination, these data need to be added
  • Only in Destination - Data in Destination DB, NOT in source, these data need to be deleted
  • Identical Records - Data Identical in both source and destination.

Click on generate scripts, you will get a script for this data migration :D 

data migration with script

You can run it in Visual Studio Or SSMS

SSMS update data SQL Data Tools

Run this script on destination to make it the same as the source

This script performs its actions in the following order:

  • Disable foreign-key constraints.
  •  Perform DELETE commands. 
  • Perform UPDATE commands.
  • Perform INSERT commands.
  • Re-enable foreign-key constraints.

Please back up your target database before running this script. Because you know, murphy's law states that, "If anything can go wrong, it will" 

Comments

  1. Excellent Post. The post is very useful to me as it contains some unique information about SQL which is really amazing. Thanks for posting it. Looking for Data Replication Software Online then visit on Repstance.

    ReplyDelete

Post a Comment

Most Loved Posts

Threadpool - A deadly poison wait for SQL Server (The What, When and How)

Introduction  Threadpool is a  poison  wait. Yes, I mean it. Its poison for SQL Server, its poison for the Business and of course, the end-users! The most devastating thing about threadpool is you hardly recognize it because it comes in disguise, meaning you see no memory or cpu pressure in the system, yet you cannot run any query, it seems like your SQL Server is frozen solid. That scary, isn't it?

How to configure your Availability Group listener to ASP.NET

SQL Server’s availability group Always On feature is great to have features for your Database. Anytime one of your database nodes goes down, your secondary replica will automatically take over. After a failover, your secondary cluster node becomes the primary cluster. Now the question arises, “Do I need to configure my APP server connectionstring each time I face a failover cluster?”. The answer is NO, you don’t have to configure your app server connectionstring every time. Default ConnectionString By default, your App server connectionstring looks something like this – <connectionStrings>    <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />   </connectionStrings> ConnectionString for Failover Partner You can manually specify the failover partner in your connectionstring like this <connectionStrings>     <a...

Maxdop and Cost theshold for parallelism SQL Server

 Maxdop  Maxdop stands for max degree for parallelism.  Let's say, the maxdop is set to 4, it means during parallel plan execution, SQL server is going to use 4 processors. If you set your Maxdop settings to 0, it means SQL server is going to use as many processors it needs to complete your request.