Migrate databases and structured data to SQL Server on Linux

Applies to: yesSQL Server (all supported versions) - Linux

You can migrate your databases and data to SQL Server running on Linux. The method you choose to use depends on the source data and your specific scenario. The following sections provide best practices for various migration scenarios.

Migrate from SQL Server on Windows

If you want to migrate SQL Server databases on Windows to SQL Server on Linux, the recommended technique is to use SQL Server backup and restore.

  1. Create a backup of the database on the Windows machine.
  2. Transfer the backup file to the target SQL Server Linux machine.
  3. Restore the backup on the Linux machine.

For a tutorial on migrating a database with backup and restore, see the following topic:

It is also possible to export your database to a BACPAC file (a compressed file that contains your database schema and data). If you have a BACPAC file, you can transfer this file to your Linux machine and then import it to SQL Server. For more information, see the following topics:

Migrate from other database servers

You can migrate databases on other database systems to SQL Server on Linux. This includes Microsoft Access, DB2, MySQL, Oracle, and Sybase databases. In this scenario, use the SQL Server Management Assistant (SSMA) to automate the migration to SQL Server on Linux. For more information, see Use SSMA to migrate databases to SQL Server on Linux.

Migrate structured data

There are also techniques for importing raw data. You might have structured data files that were exported from other databases or data sources. In this case, you can use the bcp tool to bulk insert the data. Or you can run SQL Server Integration Services on Windows to import the data into a SQL Server database on Linux. SQL Server Integration Services enables you to run more complex transformations on the data during the import.

For more information on these techniques, see the following topics: