List of different ways / tools to move data from on-premises SQL to Azure SQL Database

Azure Migration Service (preview now)

Data Migration Assistant (now support Azure SQL Database)

Transactional Replication (Replication to Azure SQL Database is GA now)

Transactional Replication (with Managed Instance – preview coming up very soon)

Azure Data Sync (can support two way sync)

bcp command line tool (for large amount of data)

Export / Import (bacpac) (easiest way that supported by Azure SQL Database)

BULK INSERT into Azure SQL DB (from Blob)

Distributed Queries (OPENROWSET, …) – insert into Azure SQL DB via Linked Server

Azure Data Factory (just moving data, no transactional integrity is guaranteed)

SSIS (Standalone or within others, just like ADF)

SSMS / SQLCMD (easiest way to do everything, has tons of wizards, just need the latest version)

T-SQL (always the best for control and customization)

PowerShell command scripts (sure)

Just to be more complete – there is a Data Warehouse Migration Utility tool. It is a tool designed to migrate schema and data from SQL Server and Azure SQL Database to Azure SQL Data Warehouse. During schema migration, the tool automatically maps the corresponding schema from source to destination. After the schema has been migrated, the tools provides the option to move data with automatically generated scripts. In addition to schema and data migration, this tool gives you the option to generate compatibility reports which summarize incompatibilities between the target and source instances which would prevent streamlined migration.


Different Ways of Moving Data from SQL Server to Azure SQL Database

I have been asked many times about how to move data from SQL Server to Azure SQL Database. There are many different scenarios – it can be database migration from on-premises to Azure, or archiving / backing up data to Azure SQL database, or keeping two databases in sync to help manage the application migration.  So, I am going to provide a summary of different ways to move data from SQL Server to Azure SQL Database, and I will provide details on each different way and what scenario it is suitable to be applied.